2010-04-05 5 views
4

Je suis en train de construire une vue d'horloge personnalisé dans Android. Voir l'image http://twitpic.com/1devk7texte dessin à un angle (par exemple la tête en bas) dans Android

Jusqu'à présent, pour dessiner les marqueurs heure et heure, j'ai utilisé la méthode Canvas.rotate pour obtenir l'effet désiré. Cependant, notez qu'il est difficile d'interpréter les chiffres dans la moitié inférieure de l'horloge (par exemple 6 ou 9?) En raison de l'angle dans lequel ils sont tirés.

Lorsque vous utilisez drawText, est-il possible de tirer le texte à 45/90/180 degrés de telle sorte que tout le texte apparaît verticale lorsque ma méthode onDraw a fini?

Répondre

4
+0

Merci, je ne vois déjà cette réponse (et je suis déjà à l'aide Canvas.rotate) mais je viens de réaliser que je peux tourner autour du centre pour trouver mon point de dessin, puis tournent autour de mon point de dessin pour dessiner mon texte à un angle. Je ne sais pas pourquoi cela n'a pas eu lieu à moi avant! Merci. – Damian

+0

Heureux vous l'avez travailler. –

+0

Damian Pouvez-vous expliquer plus s'il vous plaît? –

30

Pour dessiner un texte tourné de 90 degrés au point (x, y), utilisez ce code:

canvas.save(); 
canvas.rotate(-90, x, y); 
canvas.drawText(text, x, y, paint); 
canvas.restore();