我有两个活动 A 和 B。在 A 中,我调用 B:
Intent intent = new Intent(this, ActivityB.class);
this.startActivity(intent);
overridePendingTransition(R.anim.activity_animation_right_to_left, R.anim.activity_animation_zoom_in);
然而,只有R.anim.activity_animation_right_to_left
工作。不应用其他动画。此外,当从 B 回到 A 时:
finish();
overridePendingTransition(R.anim.activity_animation_zoom_out, R.anim.activity_animation_left_to_right);
只有R.anim.activity_animation_left_to_right
工作。我确信其他动画在其他情况下就像一种魅力(它们没有任何问题)。我什至在调用外部活动(例如打开浏览器窗口)时使用相同的转换。动画作品。仅对于我的活动 B,它不起作用。
编辑:这里是动画 XML:
R.anim.activity_animation_right_to_left
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="100%"
android:interpolator="@android:anim/linear_interpolator"
android:toXDelta="0%" />
R.anim.activity_animation_left_to_right
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="0%"
android:interpolator="@android:anim/linear_interpolator"
android:toXDelta="100%" />
R.anim.activity_animation_zoom_in
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="500"
android:fillAfter="false"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="0"
android:toXScale="0.85"
android:toYScale="0.85" />
</set>