如何在新开场前添加动画activity?

How to add animation before the opening of a new activity?

我想在新Android空Activity开场前加个动画。类似于在当前 activity 之上播放的色度键控视频之类的东西,在它结束时,第二个 activity 打开。

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

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 和 运行 与 [=12= 相同的意图]

在您的 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>