динамическое применение тем к моему приложению для Android - PullRequest
2 голосов
/ 10 февраля 2012

У меня есть три кнопки для смены темы.При нажатии на каждую кнопку тема моего приложения должна динамически меняться.Как это сделать программно.

Ответы [ 5 ]

2 голосов
/ 30 апреля 2013

Чтобы установить тему динамически во время выполнения, вызовите setTheme () в методе onCreate () вашей активности перед вызовом setContentView (). Чтобы сменить тему, вам просто нужно перезапустить свою деятельность.

Вот хороший учебник о том, как динамически применять темы.

и это тоже.

0 голосов
/ 18 августа 2013

Vimalatha, чтобы изменить свой фон при нажатии кнопки, просто добавьте этот код в функцию onClick вашей кнопки.

 myLinearLayout.setBackgroundColor(Color.BLUE);

Предполагая, что myLinearLayout является вашим именем LinearLayout ...

0 голосов
/ 10 февраля 2012

Извините, но вы не можете изменять стили программно.

как программно установить атрибут стиля в Android?

Однако, безусловно, существуют и другие способы достижения этого желаемого поведения. Вы можете настроить прослушиватели onclick для каждой кнопки и программно изменить размер текста, цвет, фон и т. Д. Различных элементов просмотра

0 голосов
/ 02 марта 2012

вы можете использовать определенную тему для данного файла XML.в графическом макете вы можете ИЗМЕНИТЬ тему макета с помощью редактирования настроек.

используйте событие onclick для перехода к следующему макету, и здесь ваша тема будет отличаться от первой.

0 голосов
/ 10 февраля 2012

Перейдите по этой ссылке .

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="#00FF00"
    android:typeface="monospace"
    android:text="@string/hello" />

<TextView
    style="@style/CodeFont"
    android:text="@string/hello" />

Определив файл темы xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="CodeFont" parent="@android:style/TextAppearance.Medium">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
    </style>
</resources>

Вы также можете применять стили ко всем действиямзаявление:

<application android:theme="@style/CustomTheme">

Или только одно действие:

<activity android:theme="@android:style/Theme.Dialog">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...