Android: Comment puis-je arrêter une animation infinie appliquée sur une ImageView?
j'ai une ImageView sur laquelle j'ai appliqué une animation de rotation. Puisque je veux que la rotation continue, j'ai donné le repeatCount comme infini dans ma rotation.xml:
android:repeatCount="infinite"
Dans onCreate(), je charge l'animation et le démarrer.
Animation myAnim = AnimationUtils.loadAnimation(this, R.anim.rotate);
objectImg.startAnimation(myAnim);
lorsqu'un bouton est appuyé, la rotation doit s'arrêter. C'est pourquoi dans mon onClick(), j'ai appelé clearAnimation().
objectImg.startAnimation(myAnim);
ma simple question Est de savoir si arrêter l'animation est la bonne chose à faire. Je suppose clearAnimation () correspond à loadAnimation(), mais il n'y a pas de stopAnimation() qui correspond à startAnimation().
3 réponses
vous pouvez aussi appeler anim.cancel();
mais vous devriez aussi appeler anim.reset();
immédiatement après.
Ensuite, si vous voulez recommencer, appelez startAnimation
sur la vue.
Utiliser clearAnimation()
pour arrêter une animation. Il n'y a pas de loadAnimation()
View
.
clearAnimation() sur l'Affichage est la meilleure solution , il s'arrête et réinitialisation de l'état antérieur de vue.