原文在CSDN,但其移動端訪問較差,為方便在地鐵上使用掘金學習的小夥伴,特重新發布。
背景
今天在掘金上閱讀了兩篇 Android Splash 頁秒開的文章,就上手試了試,效果確實不錯,不過在使用過程中發現個小的問題,應用是發現在 Android 6.0 系統下 APP 啟動的時候有個預設的動畫,如果按照文章介紹的直接啟動下一個載入資料的頁面會出現頁面閃動,有點美中不足的感覺。
解決方法
解決方法很簡單,我這裡做出了兩處修改:延遲啟動和新增淡出的過場動畫
SplashActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent starter = new Intent(SplashActivity.this, xxxActivity.class);
startActivity(starter);
finish();
overridePendingTransition(R.anim.stand,R.anim.splash);
}
},500);
}複製程式碼
stand.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:duration="200"
android:fromXDelta="0%p"
android:toXDelta="0%p"
/>
</set>複製程式碼
splash.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="200"
/>
</set>複製程式碼
總結
首先貼一下閱讀到的兩篇文章:
這裡感謝下博主的認真總結,才能讓我們把自己的 APP 啟動體驗做的這麼完美。
在實際開發中,我們可能會遇到很多複雜的情況,一篇部落格或者教程也好,只能記錄最核心的一些東西,學習的時候還是需要多多思考的。
PS:你可以通過下面的方式和我聯絡