Android无限动画

时间:2018-12-15 03:58:32

标签: android

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:repeatMode="restart"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fromDegrees="0"
    android:toDegrees="360"
    >

</rotate>

    final Animation animation = AnimationUtils.loadAnimation(context , R.anim.rotation);
    animation.setRepeatCount(Animation.INFINITE);

   imageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if(!animation.isInitialized()){
               imageButton.startAnimation(animation);
            }else{
               imageButton.clearAnimation();
                animation.reset();
                animation.cancel();
            }

        }
    });

嗨,我有一个带有onclick设置的代码,该代码将在单击时开始旋转按钮,并在再次单击该按钮时停止。.但是,只有第一次单击才能启动动画。动画运行时,只需单击按钮即可重置动画。 结合animation.reset()进行了尝试。

1 个答案:

答案 0 :(得分:0)

您每次单击按钮都会创建一个新的Animation对象。尝试在onClick函数外部对其进行初始化,然后检查它是否当前正在onClick内部运行。