我该如何处理android中的主题更改?

时间:2014-01-15 07:34:15

标签: android

我目前让用户从设置部分选择一个主题,但是当我尝试应用主题时它不起作用。用户必须退出整个应用程序并重新开始。我是android的新手,所以如果它是一个愚蠢的问题我道歉。

2 个答案:

答案 0 :(得分:2)

执行此操作的方法是在MainActivity中创建一个全局变量。此变量将存储用户选择的首选项选择。

public static String themeChoice;

然后在onCreate方法中,通过查询prefrence管理器为此变量赋值。

themeChoice = PreferenceManager.getDefaultSharedPreferences(this).getString("themeChoice", "Default Theme");

最后,在MainActivity的onResume方法中,您可以检查该变量是否等于用户选择的首选项。如果不是,则表示主题已更改,然后您可以重新创建活动。

if(!(themeChoice.equals(PreferenceManager.getDefaultSharedPreferences(this).getString("themeChoice", "Default Theme")))
 recreate();

答案 1 :(得分:0)

只需浏览以下链接即可。它详细解释了您需要的一切。

http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html