gpt4 book ai didi

android - 多次调用 nineoldandroid AnimatorListener

转载 作者:行者123 更新时间:2023-11-29 00:18:43 24 4
gpt4 key购买 nike

您好,我正在尝试制作一系列动画,但失败得很惨。它在 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 上。

最佳答案

你试过移除旧的监听器吗

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();

关于android - 多次调用 nineoldandroid AnimatorListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24572832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com