相关疑难解决方法(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万
查看次数

主题以编程方式设置.如何重新加载要应用的活动

如何在不重新启动整个应用程序的情况下应用主题?如果我使用startActivity(getIntent()); finish();Activity退出并且不重启.是否可以简单地重新启动/重新创建活动以应用主题?

xml android themes styles actionbarsherlock

6
推荐指数
1
解决办法
6658
查看次数

标签 统计

android ×2

themes ×2

actionbarsherlock ×1

styles ×1

xml ×1