Преобразовать размер шрифта (в точке) в iOS UIFont в размер Android TextView (sp или dp)? - PullRequest
1 голос
/ 12 мая 2011

Я ищу способ преобразования размера UIFont в атрибут textSize Android TextView, например:

[UIFont fontWithName:@"HelveticaNeue" size:14];

Документ разработчика iOS определяет единицу атрибута размера UIFont в виде точки, однако в AndroidТекстовое представление использует px, dp, sp, in или mm.

На Android, что мне написать:

<TextView android:textSize="?" />

Спасибо!

1 Ответ

3 голосов
/ 26 мая 2011

Если вы зайдете на сайт для разработчиков Android , он предоставит вам соответствующий формат и размеры для TextView.У вас есть: px (пиксели), dp (пиксели, не зависящие от плотности), sp (масштабированные пиксели на основе предпочтительного размера шрифта), дюймы (дюймы) или мм (миллиметры).

Шрифт в точках определен в физических дюймах.Это преобразование является наиболее простым и, возможно, самым плохим способом сделать это, но вы можете преобразовать в дюймы, просто умножив размер точек на отношение точек к физическому дюйму: 1/72

.Преобразовать размер точки в пиксели. Вы можете использовать вычисления, доступные на этом сайте: http://www.emdpi.com/screendpi.html

Часть информации, относящейся к Windows, специфична, но основной метод также должен работать для Android, при условии, что выможете определить ваш экран dpi.Этот метод даст вам соответствующее значение в пикселях (px), которое допустимо для размера шрифта TextView.

Обратите внимание, что TextView рекомендует использовать масштабированные пиксели (sp) для использования с TextView, поэтому вам может потребоватьсявыполнить дополнительную работу, чтобы программно масштабировать ваш шрифт до размера экрана.

...