相关疑难解决方法(0)

如何在Android中运行时更改当前主题

我创建了一个PreferenceActivity,允许用户选择他想要应用于整个应用程序的主题.

当用户选择主题时,执行以下代码:

if (...) {
    getApplication().setTheme(R.style.BlackTheme);
} else {
    getApplication().setTheme(R.style.LightTheme);
}
Run Code Online (Sandbox Code Playgroud)

但是,即使我已经使用调试器检查了代码是否正在执行,我也看不到用户界面的任何变化.

主题是定义的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>
Run Code Online (Sandbox Code Playgroud)

关于可能发生的事情以及如何解决问题的任何想法?我应该拨打setTheme代码中的任何特殊点吗?如果有帮助,我的应用程序包含几个活动.

android themes

144
推荐指数
7
解决办法
16万
查看次数

如何在代码中为整个应用程序设置主题,但不在Manifest中?

我知道如何在清单中将主题设置为整个应用程序,但如何以编程方式将主题设置为整个应用程序?我正在尝试这个:getApplicationContext.setTheme(R.style.mytheme),但它不起作用.

我认为getApplicationContext应用程序的上下文,可以设置整个应用程序的主题.

android themes

8
推荐指数
4
解决办法
2万
查看次数

标签 统计

android ×2

themes ×2