Android 必知必会 - Android Splash 页秒开之细节处理

背景

今天阅读了两篇 Android Splash 页秒开的文章,就上手试了试,效果确实不错,不过在使用过程中发现个小的问题,应用是发现在 Android 6.0 系统下 APP 启动的时候有个默认的动画,如果按照文章介绍的直接启动下一个加载数据的页面会出现页面闪动,有点美中不足的感觉。

解决方法

解决方法很简单,我这里做出了两处修改:延迟启动添加淡出的过场动画

SplashActivity

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@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

1
2
3
4
5
6
7
8
9
<?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

1
2
3
4
5
6
7
8
<?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:你可以通过下面的方式和我联系