une - démarrer avec android studio french edition pdf
ImageView sera réinitialisé à l'état d'origine après la rotation? (2)
Dupliquer possible:
Android: réinitialisation de la position d'animation après achèvement
J'utilise RotateAnimation
pour faire pivoter un ImageView
. Le code est simple:
this.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Animation ani = new RotateAnimation(
0, /* from degree*/
30, /* to degree */
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
ani.setDuration(1000);
imageView.startAnimation(ani);
}
});
Vous pouvez voir que je veux que l'image tourne de 30 degrés.
Cela fonctionne, mais lorsque la rotation est terminée, l'image revient à l'état d'origine, la même position et le même degré avant la rotation. Je veux fixer ImageView à la dernière position d'animation c'est-à-dire vouloir fixer l'image inclinée de 30 degrés. Comment le réparer?
C'est la manière normale lorsque vous utilisez une animation sur Android.
Vous pouvez:
- démarrer une nouvelle animation sans durée et répéter la propriété sur "infini", et vous faites pivoter votre image à l'intérieur
- Mettez la valeur de rotation manuellement à la fin de l'animation (mais vous ne pouvez pas le faire sans animation spécifique ci-dessous Android 3.0 si je ne me trompe pas).
Je viens de trouver une solution:
ani.setFillAfter(true);
Ça marche :)