首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复AnimatorSet

重复AnimatorSet
EN

Stack Overflow用户
提问于 2013-07-13 03:08:54
回答 8查看 23.3K关注 0票数 20

有没有简单的方法来重复一次Android AnimatorSet (无限)?是否可以通过再次调用start()来设置AnimationListener并重新启动AnimatorSet

我的AnimatorSet包含两个按顺序播放的动画。因此,如果我将两个动画的重复模式都设置为重复,那么第一个动画将被重复,而第二个动画将运行,对吗?

EN

回答 8

Stack Overflow用户

发布于 2014-08-12 07:02:20

设置子对象动画师的重复模式和计数;

代码语言:javascript
复制
objectAnimator.setRepeatCount(ObjectAnimator.INFINITE);
objectAnimator.setRepeatMode(ObjectAnimator.RESTART/REVERSE...);

然而,由于另一个bug,这将无法停止或取消。

显然,我并不喜欢在Android中使用无数种方法来制作动画,但它们都让你以这样或那样的方式失败了。希望这对其他人有帮助。

票数 36
EN

Stack Overflow用户

发布于 2013-10-09 16:59:16

前两个问题有一个答案

有没有简单的方法来重复一次Android的AnimatorSet (无限)?是否可以通过再次调用start()来设置AnimationListener并重新启动animatorSet?

是的,有:

代码语言:javascript
复制
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();

第三个问题的答案是否定的。将重复第一个动画,并且在所有重复之后,将开始随后的动画。

票数 19
EN

Stack Overflow用户

发布于 2019-11-11 13:56:57

将无限重复计数和重新启动/反向重复模式设置为所有子动画

代码语言:javascript
复制
animatorSet.childAnimations.forEach {
            val animator  = it as ObjectAnimator
            animator.repeatCount = ObjectAnimator.INFINITE
            animator.repeatMode = ObjectAnimator.RESTART / REVERSE
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17622333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档