动画后暂停

时间:2012-06-19 21:43:58

标签: android animation

我有一个动画集可以做3种不同的动画。 在动画结束后,我想暂停应用程序3秒钟,然后一切都快速回到起始位置。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

好吧,你可以使用animation.hasEnded()函数来测试动画是否已经完成。当返回true时,您可以使用java计时器在要等待许多毫秒之后计划任务。 AnimationSet还具有获取动画持续时间的功能。

看看...... AnimationAnimationSet

答案 1 :(得分:1)

我认为你可能会以某种方式实现这种效果AnimationListener设置一个以在动画结束时获得回调并添加一个延迟的runnable,它会将所有内容移回适当的位置。但是我觉得这样做可能会有点麻烦,因为它需要将fillAfter设置为true,然后手动将Views放在Runnable内部的原始位置,这会延迟发布。

我认为获得相同效果的更直接的解决方案是简单地向您的集合中添加第4个动画,该动画有延迟使其在所有其他动画完成后启动。使第4个动画持续3秒,并使其没有可见效果(即增长0%)。这应该会暂停3秒,并且仍然可以将所有视图移回原始位置(无需手动操作)。使用此解决方案,您将fillAfter设置为false,这将导致您的视图“快照”。通过添加另一个持续3秒但没有可见效果的动画,它对用户来说似乎是暂停。