android

android 冷启动适配虚拟导航栏

2022-04-26  本文已影响0人  djskra

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

上一篇下一篇

猜你喜欢

热点阅读