我有两个活动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>