我已经尝试了几个小时,我觉得是时候放弃了。 如何循环在 xml 中定义的 AnimatorSet?
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator />
<objectAnimator />
<objectAnimator />
<objectAnimator />
</set>
我在单个 objectAnimator
上尝试了 startOffset
、repeatCount
和 duration
的几十种组合,但那是只是方法不对。
我读到了 this有前途的解决方法:
a.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
animation.start();
Log.i();
}
});
但它根本不起作用:onAnimationEnd
被调用一次,动画重复,然后 onAnimationEnd
不再被调用。
这里其他类似的问题涉及错误答案(引用android.view.animation
框架)或建议为单个objectAnimator
定义一个自定义插值器,但事实并非如此我在找什么。谢谢。
最佳答案
我在同时播放两个动画的 AnimatorSet
上遇到了同样的问题。
我使用 animationSet.play(anim1).with(anim2)
创建了集合,这导致我的动画只重复一次。
将其更改为 animationSet.play(anim1).with(anim2).after(0)
解决了我的问题并允许动画无限循环。
似乎存在一个错误,强制您在动画可以循环不止一次之前在动画中至少有一个顺序步骤。
关于android - 多次重复一个 AnimatorSet 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454208/