<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()进行了尝试。
答案 0 :(得分:0)
您每次单击按钮都会创建一个新的Animation对象。尝试在onClick
函数外部对其进行初始化,然后检查它是否当前正在onClick
内部运行。