我试图用java代码更改运行时的主题,因为我想让用户能够通过首选项菜单更改应用程序主题。 所以,我让用户的主题,然后读取结果是这样的:在java中更改主题不会改变背景颜色
if (...) {
getApplication().setTheme(R.style.BlackTheme);
} else {
getApplication().setTheme(R.style.LightTheme);
}
不幸的是,由于某种原因,这并不工作.... 的字体颜色稍微暗灰色(光主题)转移到一个更明亮的灰色(黑色主题) ,但背景始终保持白色/黑色(取决于最初在清单文件中选择哪个主题)
如果我完全删除清单文件中的主题条目,仿佛我会选择黑色主题....
....我有忽略的东西吗?
这应该在setContentView之前调用,所以你可能需要重新“创建”你的活动 –
不,这是行不通的。我只是调用setContentView(R.layout.blabla);然后它应该被“重新创建”,对吧? 好吧,它不工作: -/ – RazorHail