Подогнать прямоугольник вокруг строки на холсте Android

Итак, я использую Canvas.drawText , чтобы нарисовать строку на Canvas . Проблема в том, что я хочу нарисовать перед ним прямоугольник, чтобы текст отображался по центру прямоугольника. Но я столкнулся с настоящей проблемой. Предоставленные координаты x и y для drawText на самом деле не из « верхнего левого » угла реального текста, а скорее на строка, в которой начинаются символы. Существует метод Paint.getTextBounds , который возвращает прямоугольник «с предполагаемым источником» в (0,0) текста, который будет нарисован. Проблема в том, что источник находится в (0,0) . Ширина и высота этого поля правильные, но я не знаю, как разместить его верхний левый угол в верхнем левом углу строки, нарисованной на холсте. Думаю, мне следует использовать FontMetrics , но поскольку многие значения, возвращаемые FontMetrics , недокументированы, я не совсем уверен, как использовать их для моих целей.

5
задан Martin Marinov 11 June 2011 в 17:35
поделиться