如何在AnimatorSet中使用setDelay进行动画制作?

时间:2016-08-16 21:14:12

标签: android

我正在尝试实现一组动画,但启动延迟值似乎没有得到尊重。例如:

ObjectAnimator a1 = ObjectAnimator.ofFloat(view1, View.ALPHA, 1f, 0f);
a1.setDuration(500);
a1.setStartDelay(500);

ObjectAnimator a2 = ObjectAnimator.ofFloat(view2, "translationX", ...);
a2.setDuration(500);

AnimatorSet set = new AnimatorSet();
set.playTogether(a1, a2);
set.start();

我可以看到alpha动画立即开始。如果我不尝试一起玩它们,延迟会得到尊重并且工作正常。如果AnimatorSet的一部分可以延迟使用吗?

1 个答案:

答案 0 :(得分:1)

如果您想按顺序播放动画,请不要使用ObjectAnimator.setStartDelay()。它不是为那个用例而设计的。

改为使用AnimatorSet.playSequentially()

AnimatorSet set = new AnimatorSet();
set.playSequentially(a2, a1);
set.start();