【置顶】Android启动页面有白屏(或者黑屏)过渡解决方案

     我们在开发android应用程序时,往往会添加启动页面;这时会遇到一个问题,就是启动页面会先显示一下白色背景或者黑色背景(根据你application使用的主题不同导致白色背景或者黑色背景),然后才会显示我们需要的效果。

    

    这是因为:activity在执行setContentView()方法后才会显示布局,所以在setContentView()方法前面不要放耗时的操作。如果activity是继承下来的,那么也要注意一下父activity的onCreate()方法不要放耗时的操作。

还有一种情况就是,题主在onCreate()方法来调用了requestWindowFeature()方法来设置全屏,这样也会导致先显示白屏(黑屏)再跳转。


解决方案:在res/values下添加一个主题如下:

<style name="Theme.beginBackground" parent="@android:style/Theme.Translucent.NoTitleBar">
    <item name="android:windowBackground">@null</item>
</style>
然后在启动的anctivity使用该主题:

<activity
    android:name=".ui.WelcomeActivity"
    android:screenOrientation="portrait"
    android:theme="@style/Theme.beginBackground">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>

        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>


猜你喜欢

转载自blog.csdn.net/yzwty/article/details/52452964