我无法弄清楚这段代码有什么问题。我通过调用Animator
方法一起播放两个AnimatorSet.playTogether()
。但onAnimationEnd()
回调仅被称为ONCE。为什么会这样?
indeterminateAnimatorSet.addListener(object: AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
indeterminateAnimatorSet.start() // <= This one is called only ONCE!
}
})
indeterminateAnimatorSet.start() // <= 1st call here to start the animation
PS:我没有取消/结束通话。
答案 0 :(得分:1)
可能有点晚了,但对我有用的是在onAnimationEnd()
@Override
public void onAnimationEnd(Animator animator) {
mHandler.post(new Runnable() {
@Override
public void run() {
animatorSet.start();
}
});
}
这不应该是必要的,因为onAnimationEnd()
已经在主线程上执行,但这就是为我做的。