Я создал функцию PreferenceActivity, которая позволяет пользователю выбирать тему, которую он хочет применить ко всему приложению.
Когда пользователь выбирает тему, этот код выполняется:
if (...) {
getApplication().setTheme(R.style.BlackTheme);
} else {
getApplication().setTheme(R.style.LightTheme);
}
Но, хотя я проверил с отладчиком, что этот код выполняется, я не вижу никаких изменений в пользовательском интерфейсе.
Темы определены в res/values/styles.xml
, а Eclipse не показывает никаких ошибок.
<resources>
<style name="LightTheme" parent="@android:style/Theme.Light">
</style>
<style name="BlackTheme" parent="@android:style/Theme.Black">
</style>
</resources>
Любая идея о том, что может произойти и как это исправить?
Должен ли я звонить setTheme
в любой специальной точке кода? Мое приложение состоит из нескольких действий, если это помогает.