2012-02-10 8 views
2

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

+0

Извините, но вы не можете изменить стиль программно, см [здесь] (http://stackoverflow.com/questions/3246447/how-to -set-the-style-attribute-programatically-in-android) – Dex

+1

взгляните на [это] (http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html) –

ответ

0

Пожалуйста, посетите это link для этого.

<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"> 
+0

Как я могу изменить свой цвет фона, когда я нажимаю кнопку – vimalatha

0

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

how to set the Style Attribute Programmatically in Android?

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

0

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

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

2

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

Здесь приятно tutorial о том, как динамически применять темы.

и this один тоже.

0

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

myLinearLayout.setBackgroundColor(Color.BLUE); 

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

Смежные вопросы