每次用户加载某个Activity
时,我都会尝试设置不同的主题。
我创建了一个在3个主题之间切换的方法:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRandomTheme();
setContentView(R.layout.activity_main);
}
private void setRandomTheme() {
int NUMBER_OF_THEMES = 3;
int theme_ID = (int) (Math.random() * NUMBER_OF_THEMES);
setTheme(Provider.getTheme(theme_ID));
}
但是我必须声明与 AndroidManifest.xml 中的Activity相关的android:theme
,所以我不能简单地切换这样的主题。
有没有办法实现它?
答案 0 :(得分:0)
在super.onCreate
之前设置主题@Override
public void onCreate(Bundle savedInstanceState) {
setRandomTheme();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private void setRandomTheme() {
int NUMBER_OF_THEMES = 3;
int theme_ID = (int) (Math.random() * NUMBER_OF_THEMES);
setTheme(Provider.getTheme(theme_ID));
}