如果希望每次打开activity的时候 ,默认背景都不一样,需要在activity中对getTheme方法进行改造。
代码如下:
override fun getTheme(): Resources.Theme {
if (TestUtil.needChangeStyle) {
TestUtil.needChangeStyle = false
return super.getTheme()
} else {
val theme = super.getTheme()
theme.applyStyle(R.style.defaultBackground, true)
return theme
}
}
可以针对不同的activity 设置不同的theme,在manifest里面配置,代码如下:
<activity
android:name=".MyActivity1"
android:theme="@style/defaultBackground"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MyActivity2"
android:theme="@style/launchTheme" />