Как узнать размер текста при использовании Canvas.то drawtext()

Я использую холст.drawText () для записи текста в пользовательском представлении. Я хочу добавить фон 9-патч, который можно рисовать за текстом, поэтому мне нужно знать границы нарисованного текста. Текст задается пользователем, поэтому он не является фиксированным размером.

пока я использую шрифт monospace, и мне удалось создать размер, который выглядит не так уж плохо, но в руке я бы предпочел использовать другой шрифт.

3 ответов


можно использовать public void getTextBounds(String text, int start, int end, Rect bounds) метод Paint для получения прямоугольника, который заключает в себе весь текст. Взгляните на getTextBounds.

надеюсь, что это помогает!


если я правильно понял ваш вопрос, то я думаю getTextBounds(String text, int start, int end, Rect bounds) может сделать это для u.....

этот метод принадлежит 2 классу Paint...

см. 2 Эту ссылку.....

спасибо....


вы также можете использовать measureText

mTextTimeColorPaint.measureText(timeText)

как в этом посте центр текста на часы