我用来setDecorFitsSystemWindows(window, false)
在状态栏下方显示一些内容。将 SplashScreen API (1.0.0-alpha01) 应用于 Activity 后,windowBackground
对 Android 8 没有影响(但在 Android 12 上运行良好)
这里是完整的demo代码,SplashScreen的背景是蓝色的,Activity的windowBackground是红色的
样式.xml
<style name="Theme.MySplash" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">#00f</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<item name="postSplashScreenTheme">@style/Theme.AndroidSplashScreen12</item>
</style>
<style name="Theme.AndroidSplashScreen12" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:windowBackground">#f00</item>
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
</style>
活动
class WindowCompatActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
WindowCompat.setDecorFitsSystemWindows(window, false)
super.onCreate(savedInstanceState)
installSplashScreen()
setContentView(R.layout.activity_window_compat)
}
}
安卓 12 像素 4XL
安卓 8 小米 A2
我希望应用程序显示为像 Android 12 这样的红色背景色。