Почему мы должны использовать 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.