Animer une rotation d'une image dans Android

  • J'ai un engrenage de l'image que je veux constamment tourner autour d'un point fixe.

  • Plus tôt, j'ai été à l'accomplissement de cette en incluant l'image dans mon Android classe comme une ImageView et l'application d'un RotateAnimation à elle.

    @InjectView(R.id.gear00)              ImageView gear00;
    RotateAnimation ra07 = new RotateAnimation(0, 359, 129, 186);
    ra07.setDuration(10000);
    ra07.setRepeatCount(RotateAnimation.INFINITE);
    ra07.setInterpolator(new LinearInterpolator());
    gear00.setAnimation(ra07);

Essentiellement, j'ai été d'injecter de l'ImageView dans la classe et en appliquant une rotation de l'animation.

Cependant, je n'ai pas le luxe de l'utilisation d'un ImageView plus. Je dois utiliser un Bitmap et le faire tourner sur la toile.

Comment puis-je aller sur la réalisation de ce que je faisais plus tôt dans la onDraw() méthode avec une image bitmap en rotation autour d'un point fixe continiously sur la toile?

Edit1:

J'ai essayé l'une des suggestions mentionnées ci-dessous mon code ressemble un peu à la suite de

dans onCreate():

Matrix matrix = new Matrix();
matrix.setRotate(10, 100, 200);

Puis dans onDraw() (où gear00Scaled est une image bitmap d'être tourné sur la toile):

toile.drawBitmap(gear00Scaled, la matrice, la nouvelle Peinture());

Une autre méthode, j'ai essayé impliqués enregistrement de la toile, en le tournant, puis de le restaurer:

toile.save();

toile.rotation(10);

toile.drawBitmap(gear00Scaled, 100, 200, null);

toile.restore();

Ne semblent être de travail, même si!

  • Si cette image montre dans un View puis la Vue doit être redessiné à plusieurs reprises.
InformationsquelleAutor rmoh21 | 2015-01-08