若把太多的初始化操作放在Application的初始化方法中处理,可能造成应用启动时白屏。在这里用一个默认的欢迎页来取代空白页。具体的做法如下:
在styles.xml中创建一个App主题
<style name="AppTheme.Launcher">
<item name="android:windowBackground">@drawable/launch</item>
<item name="android:windowFullscreen">true</item>
<item name="windowNoTitle">true</item>
</style>
drawable中的代码如下
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque"
>
<item android:drawable="@drawable/timg"/>
</layer-list>
然后在AndroidMainfest.xml中指定启动页和主题
<activity android:name=".SplashActivity"
android:theme="@style/AppTheme.Launcher"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
最后,在退出activity时还原主题
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
setTheme(R.style.AppTheme);
startActivity(new Intent(SplashActivity.this,MainActivity.class));
finish();
}
},2000);