6

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

4

1 回答 1

2

我一直有同样的问题。我正在为 AnimatorSet 中的 3 个 ValueAnimators 设置动画。我在我的集​​合中做一个“playTogether()”,如下所示:

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

并发现是动画延迟引起的问题。相反,我尝试了以下方法:

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

它似乎工作!

于 2014-03-25T05:51:35.157 回答