仅为开始设置重复动画的起始偏移

时间:2017-10-10 07:43:56

标签: android android-animation

我想延迟一些动画的开始。因此,当动画不重复时,我们可以轻松使用startOffset属性。问题是我有一个无限重复的动画。但是我必须延迟启动它,所以当我使用startOffset时,动画总是重复那个不是我想要的延迟。另外,我不想使用Handler来创建延迟。

修改

我从未使用过ObjectAnimator。我的代码如下所示,但它没有动画。我的错是什么?

ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(view, "translationX", 1000, -1000);
objectAnimator.setDuration(ANIMATION_DURATION);
objectAnimator.setRepeatMode(ValueAnimator.RESTART);
objectAnimator.setRepeatCount(ValueAnimator.INFINITE);
objectAnimator.setStartDelay((5 - i) * INTERVAL);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(objectAnimator);
animatorSet.start();

1 个答案:

答案 0 :(得分:1)

如果您在res / drawable文件夹中的XML文件中使用VectorDrawable和AnimatedVectorDrawable,并在res / animator文件夹中的objectAnimator文件中定义了动画,则startOffset延迟仅在重复期间首次使用。重复是立竿见影的。另一方面,如果你希望动画每次重复都以延迟开始,那么我相信动画和重置工作。