Android 启动优化
May 14, 2017通常app启动时都有一段白色的页面很难看,通过设置一个全屏的背景页面来过渡。以此来造成一瞬间启动了应用的假象。
1 自定义Style
<!-- 启动界面优化的的背景主题 -->
<style name="AppTheme.Start" parent="AppTheme.NoActionBar">
<item name="android:theme">@android:style/Theme.NoTitleBar.Fullscreen</item>
<item name="android:windowBackground">@drawable/welcom_bg</item>
<item name="android:windowNoTitle">true</item>
</style>
2 创建个过渡的Activity
这里创建了一个WelcomeActivity并在AndroidManifest.xml中做如下配置(引用刚才的style并将其设置为启动页)
<activity
android:name=".activity.WelcomeActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.Start">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
同时要去掉MainActivity中的
然后WelcomeActivity.java中跳转到主界面。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
toMainActivity();
}
private void toMainActivity() {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
}
@Override
public void onBackPressed() {
finish();
super.onBackPressed();
}
3 重写返回键
为了避免返回到过渡页面,在主界面重写一下返回键
@Override
public void onBackPressed() {
Intent i = new Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}
这里重写了返回键简单的实现Home键效果,也可以直接结束掉应用。