有没有简单的方法来重复一次Android AnimatorSet (无限)?是否可以通过再次调用start()来设置AnimationListener并重新启动AnimatorSet?
我的AnimatorSet包含两个按顺序播放的动画。因此,如果我将两个动画的重复模式都设置为重复,那么第一个动画将被重复,而第二个动画将运行,对吗?
发布于 2014-08-12 07:02:20
设置子对象动画师的重复模式和计数;
objectAnimator.setRepeatCount(ObjectAnimator.INFINITE);
objectAnimator.setRepeatMode(ObjectAnimator.RESTART/REVERSE...);然而,由于另一个bug,这将无法停止或取消。
显然,我并不喜欢在Android中使用无数种方法来制作动画,但它们都让你以这样或那样的方式失败了。希望这对其他人有帮助。
发布于 2013-10-09 16:59:16
前两个问题有一个答案
有没有简单的方法来重复一次Android的AnimatorSet (无限)?是否可以通过再次调用start()来设置AnimationListener并重新启动animatorSet?
是的,有:
mAnimationSet.addListener(new AnimatorListenerAdapter() {
private boolean mCanceled;
@Override
public void onAnimationStart(Animator animation) {
mCanceled = false;
}
@Override
public void onAnimationCancel(Animator animation) {
mCanceled = true;
}
@Override
public void onAnimationEnd(Animator animation) {
if (!mCanceled) {
animation.start();
}
}
});
mAnimationSet.start();第三个问题的答案是否定的。将重复第一个动画,并且在所有重复之后,将开始随后的动画。
发布于 2019-11-11 13:56:57
将无限重复计数和重新启动/反向重复模式设置为所有子动画
animatorSet.childAnimations.forEach {
val animator = it as ObjectAnimator
animator.repeatCount = ObjectAnimator.INFINITE
animator.repeatMode = ObjectAnimator.RESTART / REVERSE
}https://stackoverflow.com/questions/17622333
复制相似问题