Страницы

Поиск по вопросам

воскресенье, 8 декабря 2019 г.

В чем разница между px, dp, dip и sp на Андроиде?

#android


В чем отличие этих единиц измерения на Андроиде?


px
dip
dp
sp

    


Ответы

Ответ 1



Согласно документации: px Пиксель — соответствует одному пикселю на экране. Не рекомендуется использовать, так как на разных устройствах элементы будут выглядеть по-разному (физический размер одного пикселя на каждом устройстве разный). in Дюйм (Inch) — соответствует реальному физическому размеру элементов на экране (1 дюйм ≈ 2,54 см) mm Миллиметр — также соответствует реальному размеру (1 мм = 0,01 см) pt Точка — 1/72 дюйма, реальный размер (1 точка ≈ 3,5 мм) dp или dip Пиксель, не зависящий от плотности (Density-independent Pixel) — относительная единица измерения, которая берет за основу плотность экрана устройства. Примерно cоответствует одному пискелю на устройстве с плотностью экрана 160 точек на дюйм (dots per inch, dpi). Отношение dp/px меняется в соответствии с плотности экрана, но не в строгой пропорции: dp/dx зависит от категории экрана, а не точного значения плотности. Рекомендуется применять вместо обычных px для корректного отображения элементов на устройствах с различной плотностью экрана. В разметке можно писать как dip, так и dp, компилятор одинаково воспринимает оба варианта, однако dp предпочтительнее. sp Scale-independent Pixel — пиксель, не зависящий от масштабирования — как и dp, зависит от плотности экрана, но результат будет масштабироваться в соответствии с настройками размера шрифта пользователя. Рекомендуется для задания размеров шрифтов, чтобы текст подстраивался как под плотность экрана, так и под настройки, заданные пользователем Из публикации Understanding Density Independence In Android: +---------+--------------+---------------+------------+-------------+ | Единица | Название | В 1 дюйме | Зависит от | Одинаковый | | | | | плотности? | физ. размер | +---------+--------------+---------------+------------+-------------+ | px | Пиксель | — | Да | Нет | +---------+--------------+---------------+------------+-------------+ | in | Дюйм | 1 | Нет | Да | +---------+--------------+---------------+------------+-------------+ | mm | Миллиметр | 25.4 | Нет | Да | +---------+--------------+---------------+------------+-------------+ | pt | Точка | 72 | Нет | Да | +---------+--------------+---------------+------------+-------------+ | dp | Пиксель, | ~160 | Нет | Нет | | | не зависящий | | | | | | от плотности | | | | +---------+--------------+---------------+------------+-------------+ | sp | Пиксель, | ~160 | Нет | Нет | | | не зависящий | | | | | | от масштаби- | | | | | | рования | | | | +---------+--------------+---------------+------------+-------------+ Наглядно: Google Design Documentation.

Комментариев нет:

Отправить комментарий