我的问题是,直到版本4.4.4运行良好的动画现在有时会缩短。 4.4.4中的含义它始终是正常完成的,但是在较新的Android版本中,它不时地发生动画只完成一半或仅开始并直接进入代码中的下一部分。
我有以下动画(quarter_flip_flat_to_upended):
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="@integer/anim_flip_half_duration"
android:fillAfter="false"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/linear_interpolator"
android:toXScale="0.0"
android:toYScale="0.8" />
<translate
android:duration="@integer/anim_flip_half_duration"
android:fromXDelta="0"
android:fromYDelta="0"
android:interpolator="@android:anim/linear_interpolator"
android:toXDelta="50%"
android:toYDelta="10%" />
<alpha
android:duration="@integer/anim_flip_half_duration"
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="1.0"
android:toAlpha="0.4" />
</set>
我无法编写完整的代码,但重要的部分应该是以下内容(该类扩展了ViewSwitcher):
private Animation quarterFlipFlatToUpended;
this.quarterFlipFlatToUpended = AnimationUtils.loadAnimation(context, R.anim.quarter_flip_flat_to_upended);
quarterFlipFlatToUpended.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {/* Empty */}
public void onAnimationRepeat(Animation animation) {/* Empty */}
public void onAnimationEnd(Animation animation) {
Switcher.this.startAnimation(quarterFlipUpendedToFlat);
}
});
this.startAnimation(quarterFlipFlatToUpended);