Android AnimatorSet动画+ setStartDelay VS AnimatorListenener.onAnimationStart?

Cry*_*key 5 animation android

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

Dan*_*iel 2

我也遇到了同样的问题。我正在 AnimatorSet 中对 3 个 ValueAnimators 进行动画处理。我在我的集​​合中做了一个“playTogether()”,如下所示:

set.playTogether(alpha,animScale,transY);
set.start();
Run Code Online (Sandbox Code Playgroud)

并发现动画延迟导致问题。相反,我尝试了以下方法:

set.play(animScale);
set.play(transY);
set.play(alpha);
set.start();
Run Code Online (Sandbox Code Playgroud)

看来有效!