在应用运行时更改主题

时间:2013-09-16 17:37:24

标签: android

我正在开发一款应用,我希望有一个夜间模式选项。我已经创建了两个名为HoloLight和HoloDark的主题。我可以在应用程序清单中设置这些主题,它们都可以正常工作。问题是我找不到用代码在两者之间切换的方法。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

你可以在onCreate()方法中使用setTheme方法,如

setTheme(android.R.style.Theme_Black); 

这应该高于setContentView

答案 1 :(得分:0)


您只能在setcontentview之前更改主题。
setTheme(android.R.style.HoloDark);如此基本上要在应用中更改主题,您必须重新开始活动。请参阅this example。如果您要保存一些数据,请在活动中使用这些功能将其保存在实例状态中,onSaveInstanceState(Bundle)
onRestoreInstanceState(Bundle)