我有自定义视图和自定义动画。我的自定义视图覆盖onAnimationEnd,我的自定义Animation类分别覆盖applyTransformation。
我发现在调用onAnimationEnd之后仍然会调用applyTransformation。
我尝试使用here提供的解决方案,但它仍无效。
答案 0 :(得分:2)
我在一段时间后遇到了这个问题,并将其追溯到Android的错误跟踪器上的一个问题。 我不确定它是否仍然存在或者是否已经修复但是在平均时间我用一个小的黑客来解决它:
class SomeClass {
private bool mAnimationEnded = true;
private void SomeMethod() {
Animation animation = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
if (mAnimationEnded) return;
// ...
}
}
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
mAnimationEnded = true;
// ...
}
@Override
public void onAnimationStart(Animation animation) {
mAnimationEnded = false;
// ...
}
@Override
public onAnimationRepeat(Animation animation) { }
}
// ... Use animation here
}
}