【发布时间】:2011-09-19 14:47:40
【问题描述】:
我正在尝试使用 java 代码在运行时更改主题,因为我希望用户能够通过首选项菜单更改应用程序主题。 所以,我让用户设置主题,然后读取结果如下:
if (...) {
getApplication().setTheme(R.style.BlackTheme);
} else {
getApplication().setTheme(R.style.LightTheme);
}
不幸的是,由于某种原因,这不起作用.... 字体颜色从较深的灰色(浅色主题)略微转变为较亮的灰色(黑色主题) 但背景始终保持白色/黑色(取决于我们最初在清单文件中选择的主题)
如果我完全删除清单文件中的主题条目,那么就好像我会选择黑色主题......
....有什么我忽略的吗?
【问题讨论】:
-
这应该在 setContentView 之前调用,所以你可能需要重新“创建”你的活动
-
不,这不起作用。我只是调用 setContentView(R.layout.blabla);然后它应该被“重新创建”,对吧?好吧,它不起作用:-/
标签: android themes android-manifest sharedpreferences