2010-08-30 4 views
1

Je fais tourner une vue contenant une flèche dans mon application en utilisant la classe Matrix. Cependant, la flèche ne tourne pas autour de son centre mais se déplace un peu horizontalement et verticalement lors de la rotation. J'ai expérimenté avec les marges et le rembourrage mais sans succès. Des indices très appréciés.Rotation de la vue android sans affecter les vues adjacentes

Répondre

1

La méthode setRotate dans Matrix prend par défaut le point (0,0) de la vue, qui est le coin supérieur gauche. Vous pouvez définir le point que vous souhaitez faire pivoter en utilisant la méthode setRotate (angle de flottement, px float, float py) dans la classe Matrix. Les paramètres x et y sont locaux pour la vue, de sorte que vous pouvez obtenir le point central à partir des limites de la vue ou de getWidth et getHeight.

+0

Merci pour la réponse. Oui j'ai essayé de placer les points de pivot au centre de la vue (x/2, y/2) mais sans succès. – Christian

+0

Avez-vous essayé width/2, height/2? – Frank

+0

Oui, je l'ai fait. Je devine que je dois mettre ma flèche-ImageView dans une sorte de boîte de récipient dont les côtés sont plus longs que la diagonale d'ImageView de sorte que le ImageView tourne dans cette boîte sans affecter les vues adjacentes. – Christian

0

Je pense que la traduction fonctionne comme prévu. C'est la façon dont vous dessinez l'image résultante qui conduit à l'imprécision. Je viens de répondre à une question similaire Android problem with Image Rotate and Matrix

+0

Merci, je vais essayer plus tard et revenir à vous! – Christian

Questions connexes