应用启动:白屏

347 阅读1分钟

解决方案:

1.给LaunchActivity设置主题背景为透明(类似微信)
<style name="WelcomeTheme"
           parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:screenOrientation">portrait</item>
        <item name="android:windowBackground">@color/transparent</item>
    
        <item name="android:windowFullscreen">true</item>//全屏
        <item name="android:windowDrawsSystemBarBackgrounds">false</item>//适配华为底部菜单栏,
        //LuanchActivity页面未显示时,系统显示了LanuchActivity的theme的windowbackground,
        //此时导航栏区域是可绘制的(虽然该属性默认是false),所以导航栏会覆盖windowbackground。
        //这属性指定false之后,令导航栏区域不可绘制。也就windowbackground的可绘制区域与LanchActivity的可绘制区域相同。
    </style>
2.或者给LaunchActivity设置APP的icon页(这种感觉更快,关键是layer-list背景可以简单适配机型)
<style name="WelcomeTheme"
           parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:screenOrientation">portrait</item>
        
        <item name="android:windowBackground">@drawable/splash</item>//设置xml文件的背景(layer-list)
        
        <item name="android:windowFullscreen">true</item>//全屏
        <item name="android:windowDrawsSystemBarBackgrounds">false</item>//适配华为底部菜单栏
    </style>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:opacity="opaque">
    <item android:drawable="@color/white"/>
    <item android:gravity="bottom" android:left="0dp" android:right="0dp" android:bottom="0dp">

        <bitmap
            android:gravity="bottom|fill_horizontal"
            android:left="0dp"
            android:right="0dp"
            android:bottom="0dp"
            android:filter="true"
            android:src="@drawable/lanuch_2"/>
    </item>
</layer-list>
相关介绍:

juejin.cn/post/684490…