首页 > 代码库 > Android启动黑屏白屏解决方案

Android启动黑屏白屏解决方案

  在App的Splash页面启动时会出现短暂的黑屏或者白屏,会带来很不好的用户体验,究其原因是因为资源还未加载完成而导致的黑屏或白屏,而我们所看到的黑白屏其实就是顶层Window,下面总结两种解决方案。

 **设置Window层的界面为我们的Splash界面。

 

<!--防止启动时黑屏,添加window图片-->
    <style name="Theme.AppStartLoad" parent="android:Theme">
        <item name="android:windowBackground">@mipmap/start</item>
        <item name="android:windowNoTitle">true</item>
    </style>

之后再清单文件中使用:

<activity
            android:name=".activity.LauncherActivity"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.AppStartLoad
" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>

效果就是,启动时直接能看到Splash界面。但是无法设置沉浸式状态栏,对于有强迫症的同学推荐使用第二种方法。

**设置Window透明

<!--防止启动时黑屏,使window背景透明-->
    <style name="Theme.AppStartLoadTranslucent" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
    </style>

同样的在清单文件配置:

 <activity
            android:name=".activity.LauncherActivity"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.AppStartLoadTranslucent"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER"/>

            </intent-filter>


        </activity>

如果你有更好的办法欢迎留言。

 

Android启动黑屏白屏解决方案