2012-08-09 51 views
0

在我的Android应用程序,我这样设置主题:android - 如何更新主题不在onCreate事件?

@Override 
public void onCreate(Bundle savedInstanceState){ 
    ThemeSetterActivity.setStyle(Main_MenuActivity.this); // this just calls context.setTheme(); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_menu); 
} 

但是我怎么更改使用

ThemeSetterActivity.setStyle(Main_MenuActivity.this); 

当它在活动的onResume主题。当我尝试它时,它会调用该函数,但主题不会更改。它有事情做与不叫:

super.onCreate(savedInstanceState); 
setContentView(R.layout.main_menu); 

回答

1

要在运行时更改您的应用程序的主题,你可以在活动中使用的setTheme(...)方法。在加载该活动的视图之前,您必须将主题设置为活动。

欲了解更多信息和实施,refer the link

更新

而且,作为每docs设置主题,你需要重新启动整个活动。 您可以尝试在你的活动onResume()这段代码,

Intent i = getIntent(); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 
+0

我不明白,你能告诉我的代码? – omega 2012-08-10 01:08:49

+0

我更新了答案,请大家看看 – Midhu 2012-08-10 05:19:25