Должен использовать "sp" вместо "dp" для размеров текста

Когда я использую

android:textSizes="20dp" 

в моем XML для textView, я получил предупреждение "Должен использовать" sp "вместо" dp "для размеров текста".

Почему "dp" не используется? Каков правильный подход? Как я могу достичь таких же текстов на разных дисплеях?

Ответ 1

Вы можете использовать sp и dp. Как вы знаете, в настройках Android вы можете изменить размер текста (Настройки → Мое устройство → Дисплей → Размер шрифта). Весь ваш textView в sp изменится после изменения размера шрифта в настройках, dp - не изменит

Ответ 2

Вы всегда должны использовать SP для шрифтов, поскольку он соответствует предпочтениям пользователя. Вот пример Давайте рассмотрим это с помощью примера -

Текст с SP и DP

введите описание изображения здесь

Измените настройку текста устройства (Настройки → Дисплей → Размер шрифта)

введите описание изображения здесь

Теперь откройте приложение и перетащите его в тексты. Вы увидите, что текст, который использует SP, имеет разную высоту, чем DP.

введите описание изображения здесь

Ответ 3

Вы можете использовать оба

sp для размеров шрифтов
dp для всего остального.

дп
Плотно-независимые пиксели - абстрактный блок, основанный на физической плотности экрана. Эти единицы относятся к экрану с разрешением 160 точек на дюйм, поэтому один пиксель составляет один пиксель на экране с разрешением 160 точек на дюйм. Отношение dp-to-pixel будет меняться с плотностью экрана, но не обязательно в прямой пропорции. Примечание. Компилятор принимает как "dip", так и "dp", хотя "dp" более соответствует "sp".

зр
Масштабируемые пиксели - это похоже на блок dp, но он также масштабируется по предпочтению размера шрифта пользователя. Рекомендуется использовать этот аппарат при задании размеров шрифта, поэтому они будут настроены как на плотность экрана, так и на пользовательские предпочтения.

Подробнее см. в Разница между px, dp, dip и sp в Android?

Ответ 4

Как и в случае с @GiruBhai, удобнее использовать sp вместо dp для размера текста, поскольку он может быть изменен - ​​в отличие от dp - в соответствии с предпочтениями пользователя. Что может быть лучше для ваших пользователей.

Дополнительная информация.: Размеры в Android

Источник: developer.android.com