android Quel devrait être le point pivot Pour la rotation de l'image autour de sa base centrale

Veuillez lire attentivement la question de la question avant de faire dupliquer ou de le fermer.

Je veux faire pivoter l'image /en particulier,

Image des flèches

/ Autour de son point central de base.

Par exemple, au début de mon image ressemblera à une seconde flèche en heures sur 9.
Et supposons que si je tourne cette image sur 30 degrés, alors il ressemblera à une seconde flèche d'horloge sur 10, Et si sur 120 degrés, puis une seconde flèche d'horloge sur 1.

Donc je veux transformer cette image autour de son centre /Le long de l'axe x/ Base.

Alors que dois-je passer comme pivot /X & Y/, Si je clarifie d'abord


imageView.setPivotX/1f/;
imageView.setPivotY/1f/;
imageView.setRotation/-30/;


ou deuxième code


Matrix matrix = new Matrix//;
imageView.setScaleType/ScaleType.MATRIX/;
matrix.postRotate//float/ 20, 0f, 0f/;
imageView.setImageMatrix/matrix/;


ou troisième code


Bitmap myImg = BitmapFactory.decodeResource/getResources//, R.drawable.arrow_0_degree/;
Matrix matrix = new Matrix//;
matrix.postRotate/30/;
Bitmap rotated = Bitmap.createBitmap/myImg, 0, 1, myImg.getWidth//, myImg.getHeight//, matrix, true/;
imageView.setImageBitmap/rotated/;


ou quatrième code


final RotateAnimation rotateAnim = new RotateAnimation/0.0f, degree,
RotateAnimation.RELATIVE_TO_SELF, 0.5f,
RotateAnimation.RELATIVE_TO_SELF, 0.5f/;

rotateAnim.setDuration/0/;
rotateAnim.setFillAfter/true/;
imgview.startAnimation/rotateAnim/;


A ajouté une image pour une meilleure compréhension qui s'allume 90 Degré dans le sens des aiguilles d'une montre.

Et j'espère dans le futur google Ajoutez plus de documentation claire sur pivot Points.

Merci en avance.
Invité:

Alice

Confirmation de:

Vous étiez presque juste avec le quatrième code ^^

Vous pouvez y parvenir de sorte que :


final RotateAnimation rotateAnim = new RotateAnimation/0.0f, 30,
RotateAnimation.RELATIVE_TO_SELF, 0.5f,
RotateAnimation.RELATIVE_TO_SELF, 1f/;
rotateAnim.setDuration/0/;
rotateAnim.setFillAfter/true/;
mImageView.setAnimation/rotateAnim/;
rotateAnim.start//;

Pour répondre aux questions, connectez-vous ou registre