我正在尝试实现一组动画,但启动延迟值似乎没有得到尊重。例如:
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的一部分可以延迟使用吗?
答案 0 :(得分:1)
如果您想按顺序播放动画,请不要使用ObjectAnimator.setStartDelay()
。它不是为那个用例而设计的。
改为使用AnimatorSet.playSequentially()
:
AnimatorSet set = new AnimatorSet();
set.playSequentially(a2, a1);
set.start();