2010-05-25 3 views
8

Я хочу создать обтекающий текст ontop карт google api. Я смог сделать это с большим количеством кода, но работал над лучшим способом. Моя последняя попытка состоит в том, чтобы использовать класс StaticLayout, и текст обертывается, но я не знаю, как его позиционировать ... независимо от того, что я пытаюсь сделать, он всегда начинается в верхнем левом углу экрана.Как разместить StaticLayout в Android?

ответ

12

попробуйте сделать canvas.translate(x,y) прежде чем вы позвоните draw(c) на макете.

+0

Это отлично поработало для меня, спасибо. – num1

0

В рамках живых обоев это решение влияет на ориентацию при открытии и повороте приложения. Есть ли другой способ разместить StaticLayout, кроме canvas.translate()?

3

Вы можете сделать это следующим образом

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

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

Чтобы продолжить рисование обычно потом ... называйте canvas.restore() после того, как вы staticlayout рисовать и вы должны быть хорошо, чтобы продолжить рисование на вас холсте.

+1

canvas.save() необходимо вызвать перед вызовом canvas.restore(). Кажется, что это работает как push()/pop() –

Смежные вопросы