Android:如何停止在ImageView上应用无限动画?

时间:2010-10-12 10:39:35

标签: android animation imageview infinite

我有一个ImageView,我已经应用了旋转动画。由于我希望旋转继续进行,因此我在rotate.xml中将repeatCount视为无限:

android:repeatCount="infinite"

在onCreate()中,我加载动画并启动它。

Animation myAnim    = AnimationUtils.loadAnimation(this, R.anim.rotate);
objectImg.startAnimation(myAnim); 

按下按钮时,必须停止旋转。因此,在我的onClick()中,我调用了clearAnimation()。

objectImg.startAnimation(myAnim); 

我的简单问题是停止动画是否正确。 我假设clearAnimation()对应于loadAnimation(),但是没有与startAnimation()对应的stopAnimation()。

3 个答案:

答案 0 :(得分:60)

使用clearAnimation()停止动画。 loadAnimation()上没有View

答案 1 :(得分:34)

您也可以致电anim.cancel();,但也应立即致电anim.reset();。 然后,当您想再次启动它时,只需在视图上调用startAnimation

答案 2 :(得分:1)

view上的clearAnimation()是最佳解决方案,它会停止并重置以前的状态。