我有一个自定义 View 和一个自定义动画。我的自定义 View 分别覆盖 onAnimationEnd 和我的自定义动画类覆盖 applyTransformation。
我发现调用onAnimationEnd后applyTransformation仍然被调用。
我尝试使用提供的解决方案 here ,但仍然不起作用。
最佳答案
我不久前遇到了这个问题,并将其追溯到 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
}
}
关于android - Android 中的 onAnimationEnd 之后调用 applyTransformation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24916068/