Android 解决启动界面显示空白问题

在启动App之前,需要加载数据,这时候就需要启动界面Activity,延时跳转到需要的Activity.
如果在启动Activity的xml文件中设置需要background,例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:background="@drawable/first_activity"
    android:layout_height="match_parent"/>

启动Activity之后会先显示一段空白,再显图片,这对用户再说是非常不好的用户体验。
怎么解决这个问题呢?
需要在values文件夹下的style.xml中
设置android:windowBackground 例如:

然后在给启动Activity设置主题
例如:

<activity android:name=".FirstActivity"
            android:theme="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"  />
                <category android:name="android.intent.category.LAUNCHER" />
            intent-filter>
        activity>

这样就可以在App启动直接显示图片而不是空白背景。
那为什么会这样呢?
因为Theme是在App启动之后加载,而Activity中的背景图是在Activity启动之后加载,所以之前在App启动之后会看到Theme的默认背景。

你可能感兴趣的:(android,activity)