tags:

views:

1165

answers:

1

I've created a PreferenceActivity that allows the user to choose the theme he wants to apply to the entire application.

When the users selects a theme, this code is executed:

if (...) {
    getApplication().setTheme(R.style.BlackTheme);
} else {
    getApplication().setTheme(R.style.LightTheme);
}

But, despite I've checked with the debugger that the code is being executed, I can't see any change in the user interface.

Themes are defined in res/values/styles.xml, and Eclipse does not show any error.

<resources>
    <style name="LightTheme" parent="@android:style/Theme.Light">
    </style>

    <style name="BlackTheme" parent="@android:style/Theme.Black">
    </style>    
</resources>

Any idea about what could be happening and how to fix it ? Should I call setTheme at any special point in the code ? My application consist of several Activities if that helps.

Thanks.

Thank you.

+2  A: 

I would like to see the method too, where you set once for all your activities. But as far I know you have to set in each activity before showing any views.

For reference check this:

http://www.anddev.org/applying_a_theme_to_your_application-t817.html

Pentium10
It works, but changes are not applied until you don't change from one Activity to another...
Guido