最佳答案
我已经创建了一个 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
吗? 我的应用程序由几个活动组成,如果有帮助的话。