Что представляет собой параметр Paint.setTextSize ()? - PullRequest
1 голос
/ 25 августа 2010

Я пытаюсь написать независимую от разрешения игру для Android.У меня есть текст, который я хочу визуализировать на холсте и использовать Paint.setTextSize (...), чтобы установить размер текста.Что представляет собой параметр?Высота букв в пикселях?

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

1 Ответ

4 голосов
/ 27 апреля 2012

Эмпирически, это пиксели (реальные пиксели, а не провал: я пробовал Galaxy Tab 10.1 "(mdpi) и эмулятор на 240 dpi (hdpi), и результаты были почти одинаковыми ... на самом деле, шрифт был два пикселей меньше в эмуляторе, хотя getFontSpacing () вернул то же число; результаты ниже приведены для Galaxy Tab. Я рисовал растровое изображение ... Я полагаю, что то же самое для холста вида?).

Я установил размер текста на 40, а getFontSpacing () вернул 46. Используя экранную сетку, я обнаружил, что высота заглавной буквы составляет около 29 пикселей в высоту, расстояние от вершины буквы «Т» до нижняя часть «g» составляет около 39 пикселей, а расстояние от вершины cenccented Í до нижней части «g» составляет 48 пикселей (включительно). Шрифт был Typeface.defaultFromStyle(Typeface.NORMAL).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...