Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drawing text at an angle (e.g. upside down) in Android

I'm trying to build a custom clock view in Android. See image http://twitpic.com/1devk7

So far to draw the time and hour markers I have been using the Canvas.rotate method to get the desired effect. However, notice that it is difficult to interpret the numbers in the lower half of the clock (e.g. 6 or 9?) because of the angle in which they are drawn.

When using drawText, is it possible to draw the text at 45/90/180 degrees so that all text appears upright when my onDraw method has finished?

like image 977
Damian Avatar asked Apr 05 '10 15:04

Damian


2 Answers

To draw a text rotated by 90 degrees at point (x,y), use this code:

canvas.save();
canvas.rotate(-90, x, y);
canvas.drawText(text, x, y, paint);
canvas.restore();
like image 187
Philippe Avatar answered Nov 10 '22 04:11

Philippe


How can you display upside down text with a textview in Android?

like image 4
Jim Blackler Avatar answered Nov 10 '22 04:11

Jim Blackler