在我的Android应用程序中,我设置了这样的主题:
@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);
答案 0 :(得分:1)
要在运行时更改应用程序的主题,可以在活动中使用setTheme(...)
方法。在加载该活动的视图之前,您必须将主题设置为活动。
有关更多信息和实施,refer the link:
<强>更新强>
并且,根据设置主题的docs,您需要重新启动整个活动。
您可以在活动的onResume()
中尝试此代码,
Intent i = getIntent();
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);