29

我有一个 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(),但没有 stopAnimation() 对应于 startAnimation()。

4

4 回答 4

70

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

于 2010-10-12T11:49:32.287 回答
38

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

于 2010-10-12T23:24:44.313 回答
0

您只需android:repeatCount="infinite"rotate.xml文件中删除此行即可:

于 2022-02-24T10:23:26.217 回答
-1

只需添加以下两行。

anim?.cancelAnimation()

anim?.progress = 0f
于 2021-12-27T18:12:38.500 回答