Почему мы должны использовать sp для размеров шрифтов в Android?
Возможный дубликат:
Разница px, dp, dip и sp в андроиде
Я новичок в Android, и я пробовал этот учебник
В этом учебнике они использовали единицу "sp" для атрибута textSize и "dp" для других атрибутов.
Скажите, пожалуйста, как sp отличается от dp?
Ответы
Ответ 1
dp
имеет постоянный переход отношения к px
: dp = px * ratio
. Где ratio
никогда не будет изменяться на каком-либо конкретном устройстве.
Пока sp
(s для масштабирования) имеет масштабируемое соотношение: sp = px * ratio * scale
. Где ratio
никогда не изменяется, но scale
настраивается пользователем. Этот scale
может использоваться людьми, которые нуждаются в большем размере шрифта, например, для более удобного использования устройства.
Ответ 2
Sp масштабируется независимо от нормального размера шрифта устройства.
http://developer.android.com/guide/practices/screens_support.html
Аналогично, вы должны предпочесть sp (не зависящий от масштаба пиксель) для определения размеров текста. Коэффициент масштабирования sp зависит от пользовательской настройки, и система масштабирует размер так же, как и для dp.