如何在新活动开始之前添加动画?

时间:2018-12-11 10:58:20

标签: android android-animation

我想在新的Android空活动打开之前添加动画。在当前活动的顶部播放类似色度键的视频,然后在其结束时打开次要活动。

2 个答案:

答案 0 :(得分:1)

您创建一个包含动画的启动活动,并实现了AnimationListener。在方法onAnimationEnd()中,您创建了将您带到第二个活动的意图。不要忘记在清单上将启动活动设置为启动器活动。

animationObject.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
        Intent intent = new Intent (SplashActivity.this, MainActivity.class);
        startActivity(intent);    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }
});

编辑:如果您想使用媒体播放器播放视频,请使用playback listener并从onCompletion()运行相同的意图

答案 1 :(得分:0)

在startActivity方法之后,使用overridePendingTranistion并将动画放入其中

 button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(ActivityA.this, ActivityB.class));
                overridePendingTransition(R.anim.enter, R.anim.exit);
            }
        });

xml动画如下 enter.xml:

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="500"
        android:fromXDelta="100%"
        android:fromYDelta="0%"
        android:toXDelta="0%"
        android:toYDelta="0%" />
</set>

exit.xml:

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="500"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:toXDelta="-100%"
        android:toYDelta="0%" />
</set>