嗨,我正在尝试做一系列动画,但它失败了。当它只有4.0时工作正常,但我使用nineoldandroid增加了对2.2和2.3的支持。它接合工作,但AnimatorListener
的方法onAnimationEnd
被调用两次。
这是我用于动画的代码:
animate(horizontalView)
.translationX(xDelta)
.setDuration(2000)
.setListener(new Animator.AnimatorListener() {
//listener implementation onAnimationEnd
@Override
public void onAnimationEnd(Animator animator) {
animate(droppingView)
.translationY(yDelta)
.setDuration(2000)
.setListener(null)
.start();
}
}).start();
第一个动画两次触发其侦听器,第二个动画触发3次。这只发生在我测试过的2.2和2.3上。
答案 0 :(得分:2)
您是否尝试删除旧的侦听器
animate(horizontalView)
.translationX(xDelta)
.setDuration(2000)
.setListener(new Animator.AnimatorListener() {
//listener implementation onAnimationEnd
@Override
public void onAnimationEnd(Animator animator) {
animator.removeListener(this); // << this
animate(droppingView)
.translationY(yDelta)
.setDuration(2000)
.setListener(null)
.start();
}
}).start();