【发布时间】:2011-01-29 18:48:53
【问题描述】:
我创建了一个 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 吗?如果有帮助,我的应用程序包含几个活动。
【问题讨论】: