项目之前Splash页继承自Activity,页面主题使用的是
<style name="SplashTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen">
<item name="android:windowBackground">@drawable/layer_splash</item>
<item name="android:navigationBarColor">@color/day_night_navBar</item>
</style>
后Splash页增加视频共享动画,页面继承AppCompactActivity,页面主题必须继承Theme.Compact
<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowBackground">@drawable/layer_splash</item>
<item name="android:navigationBarColor">@color/day_night_navBar</item>
<item name="android:windowAnimationStyle">@style/NoAnimation</item>
</style>
导致在三星等有虚拟导航栏设备上使用android:windowBackground冷启动图会延伸到底部虚拟导航栏。
经过测试,主题中增加 <item name="android:windowDrawsSystemBarBackgrounds">false</item>
可解决windowBackground延伸到虚拟导航栏区域问题。
样式全部代码如下:
<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowBackground">@drawable/layer_splash</item>
<item name="android:navigationBarColor">@color/day_night_navBar</item>
<item name="android:windowAnimationStyle">@style/NoAnimation</item>
</style>