android 冷启动适配虚拟导航栏

项目之前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>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容