美文网首页android
android 冷启动适配虚拟导航栏

android 冷启动适配虚拟导航栏

作者: djskra | 来源:发表于2022-04-26 12:49 被阅读0次

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

    相关文章

      网友评论

        本文标题:android 冷启动适配虚拟导航栏

        本文链接:https://www.haomeiwen.com/subject/pkicyrtx.html