obrócenie tekstu (lub czegokolwiek innego) jest proste: Użyj metody rotate()
obracanie płótna (potem jest obrócony do tyłu, poza tym wszystko narysować zostaje obrócone):
canvas.save();
canvas.rotate(90f, 50, 50);
canvas.drawText("Text",50, 50, paint);
canvas.restore();
save()
i restore()
metody odpowiednio zapisują stan płótna i przywracają go. Reszta twoich narysowanych elementów nie jest obracana. Jeśli chcesz tylko pomalować tekst, te dwie metody nie są konieczne.
Jeśli chcesz umieścić znaki napisu pod sobą, musisz przetworzyć każdy znak osobno. Najpierw musisz uzyskać wysokość czcionki i podczas rysowania każdego znaku musisz zwiększyć współrzędną y z tą wysokością w kółko.
int y = 50;
int fontHeight = 12; // I am (currently) too lazy to properly request the fontHeight and it does not matter for this example :P
for(char c: "Text".toCharArray()) {
canvas.drawText(c, 50, y, paint);
y += fontHeight;
}
Twoje pytanie jest nieco niejasne: Czy chcesz, aby obrócić cały tekst (tak trzeba „obrócić głowę”, aby ją przeczytać), czy chcesz mieć znaki pod siebie (i nie obraca się)? – Veger
Interesują mnie obie opcje: –