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

3,923 阅读1分钟

原文在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:你可以通过下面的方式和我联系