2010-05-25 11 views
8

Je veux créer un texte d'emballage sur google maps api. J'ai été capable de le faire avec beaucoup de code, mais j'ai travaillé d'une meilleure façon. Ma dernière tentative est d'utiliser la classe StaticLayout et le texte est en train de s'emballer, mais je ne sais pas comment le positionner ... peu importe ce que j'essaie, il commence toujours dans le coin supérieur gauche de l'écran ....Comment positionner StaticLayout dans android?

Répondre

12

essayez de faire un canvas.translate(x,y) avant d'appeler draw(c) sur la mise en page.

+0

Cela a fonctionné très bien pour moi, merci. – num1

0

Dans un fond d'écran en direct, cette solution effectue l'orientation lors de l'ouverture et de la rotation d'une application. Existe-t-il un autre moyen de positionner un StaticLayout en dehors de canvas.translate()?

3

Vous pouvez le faire comme suit

canvas.translate(xPos, yPos); 
statictextlayout.draw(canvas); 

//After that to reset the canvas back for everything else 
canvas.restore(); 

Pour continuer à dessiner normalement après ... appeler canvas.restore() après que vous staticlayout dessiner et vous devriez être bon pour continuer à dessiner sur vous toile.

+1

canvas.save() doit être appelé avant d'appeler canvas.restore(). Il semble fonctionner comme push()/pop() –