解决方案:
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…