Android AnimatorSet动画+ setStartDelay VS AnimatorListenener.onAnimationStart?

时间:2013-03-13 04:02:46

标签: android animation

我对Android AnimatorSet对象有疑问。我正在尝试动态创建TextView并将其可见性设置为GONE,并在启动延迟后启动动画时显示。为了实现这一点,我设置了一个onAnimationStart监听器来告诉我动画何时启动,以便我可以将TextView设置为可见。我将TextView添加到AnimatorSet中以对alpha和translateY执行一些动画,但我还将setStartDelay设置为一个值,以便动画以2500毫秒开始。我的问题是,当动画实际上以2500毫标记开始时,我希望TextView变为可见,但只在调用我的AnimatorSet.start()函数时调用onAnimationStart,而不是在请求的2500毫秒后调用。这导致我的TextView在动画实际开始之前(在setStartDelay期间之后)变得可见。我如何克服这个问题并使TextView对象仅在setStartDelay周期后才可见?非常感谢,你是最好的StackOverflow !!!! :) :) :)

1 个答案:

答案 0 :(得分:2)

我一直有同样的问题。我在AnimatorSet中设置了3个ValueAnimators。我在我的套装中做了“playTogether()”,如下:

set.playTogether(alpha,animScale,transY);
set.start();

并发现动画延迟引发了问题。相反,我尝试了以下内容:

set.play(animScale);
set.play(transY);
set.play(alpha);
set.start();

似乎工作!