问题:
现在我们的程序功能开发的差不多了,现在正在做优化,打开应用的时候会有黑白全屏界面出现,然后才出现我们的启动页展示的图片,很多的应用都不会出现这种情况,以前我就发现过这个问题,但是一直在做功能,没时间整这个.现在我这边的解决办法分享给大家,废话太多,下面直接开始
1.创建三个LaunchTheme
第一个放在values中(这个文件项目中有,直接把下面的代码复制一下放到里面就行了)

<style name="LaunchTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/icon_launch3</item>
<item name="android:windowFullscreen">true</item>
</style>
第二个LaunchTheme在编写之前需要在项目中创建文件夹values-v21并在该文件夹下创建styles.xml下面是代码

<style name="LaunchTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/icon_launch3</item>
<item name="android:windowFullscreen">true</item>
<!--不让windowBackground延申到navigation bar区域-->
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
</style>
第三个LaunchTheme在编写之前需要在项目中创建文件夹values-v28并在该文件夹下创建styles.xml下面是代码
<style name="LaunchTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/icon_launch4</item>
<item name="android:windowFullscreen">true</item>
<!--不让windowBackground延申到navigation bar区域-->
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<!--适配Android P刘海屏-->
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
把上面的图片(icon_launch3我放的是1080*1920 ) (icon_launch4为1080*2240) 这两个尺寸的图片
最后在清单文件的启动页引用就行了
<activity android:name=".activity.LaunchActivity"
android:screenOrientation="portrait" android:theme="@style/LaunchTheme">
<meta-data android:name="android.notch_support" android:value="true"/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter> </activity>
这样在启动项目的时候 ,会把黑白屏替换掉,并且我们指定了版本,在打开应用的时候 v28就是android9.0的手机就会去找咱们创建的values-v28文件的主题样式.如果想适配更多机型多添加几个文件多塞几张图片就行了,图片有时候太大,那是必然的,可以用https://tinypng.com/这个把图片压缩下,这样适配就是占体积,但是省事儿.还有一种方法就是创建layer-list,这个网上也有很多,把一张图片分开来自己布局,这中方法比上面这种可以省好多空间.
本文介绍了一种解决安卓应用启动时出现黑白屏问题的方法,通过创建不同版本的LaunchTheme,针对多种设备屏幕进行适配,有效提升了用户体验。文章详细解释了如何在不同配置文件中设置主题样式,以及如何在清单文件中引用这些主题。
762

被折叠的 条评论
为什么被折叠?



