android — В чем разница между px, dp, dip и sp на Андроиде?
Вопрос задан
Изменён 1 год 2 месяца назад
Просмотрен 16k раза
В чем отличие этих единиц измерения на Андроиде?
px
dip
dp
sp
- android
2
Согласно документации:
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 для корректного отображения элементов на устройствах с различной плотностью экрана. В разметке можно писать как
, так иdp
, компилятор одинаково воспринимает оба варианта, однакоdp
предпочтительнее.sp
> Scalable Pixel или 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.
5
Зарегистрируйтесь или войдите
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Единицы измерения и размеры — CSS-LIVE
Перевод раздела Units and measurements официальной документации Google: http://www. google.com/design/spec/material-design/.
Некоторые единицы измерения в различном контексте имеют различные значения. В этой главе описано использование устройство-независимых пикселей, масштабируемых пикселей, а также таких идей как плотность пикселей.
Плотность пикселей
Количество пикселей, помещающихся в одном дюйме, называют «плотностью пикселей». Экраны с высокой плотностью имеют больше пикселей на дюйм, чем экраны с низкой плотностью. В результате элементы UI (например, кнопка) выглядят крупнее на устройствах с экранами с низкой плотностью и меньше на экранах с высокой плотностью.
Dpi, или разрешение экрана, обозначает количество пикселей конкретного дисплея.
dpi = ширина (или высота) экрана в пикселях / ширина (или высота) экрана в дюймах
Экран с низкой плотностью
Не зависящие от плотности пиксели (dp)
«Независимость от плотности» означает одинаковое отображение элементов UI на экранах с различной плотностью.
Не зависящие от плотности пиксели — это гибкие единицы измерения, которые на любом экране масштабируются до одного и того же размера. Разрабатывая приложения под Android, используйте dp для одинакового отображения элементов на экранах с различной плотностью.
Разрешение экрана | Ширина экрана в пикселях (dpi * ширина в дюймах) |
Ширина экрана в не зависящих от плотности пикселях |
---|---|---|
120 dpi | 180 px | 240 dp |
160 dpi | 240 px | |
240 dpi | 360 px |
Если у вас 3 экрана, каждый шириной 1,5 дюйма, но при этом все они имеют различные разрешения, ширина каждого экрана все равно составит 240dp.
dp равен одному физическому пикселю на 160 dpi экране.
dp = (ширина в пикселях * 160) / dpi
В процессе написания CSS используйте px в местах, где указано dp или sp. Dp следует использовать только при разработке под Android.
Масштабируемые пиксели (sp)
При разработке под Android масштабируемые пиксели (sp) служат той же цели, что и dp, но используются в шрифтах. По умолчанию значение sp совпадает с используемым по умолчанию значением dp.
Основное отличие между sp и dp заключается в том, что sp сохраняет настройки шрифта пользователя. Пользователи, настроившие более крупный размер шрифта для улучшения читабельности, увидят шрифт такого размера, который будет совпадать с их предпочтениями.
Проектирование макетов с использованием dp
При проектировании макетов под экран рассчитывайте размеры элемента в dp:
dp = (ширина в пикселях * 160) / dpi
Например, иконка размеров 32 x 32 px при 320 dpi будет иметь размеры 16 x 16 dp.
Масштабирование изображений
Используя следующие соотношения сторон, можно масштабировать изображения, чтобы они выглядели одинаково на экранах с различным разрешением:
Разрешение | dpi | Пиксельный коэффициент | Размер изображения (в пикселях) |
---|---|---|---|
xxxhdpi | 640 | 4.0 | 400 x 400 |
xxhdpi | 480 | 3.0 | 300 x 300 |
xhdpi | 320 | 2.0 | 200 x 200 |
hdpi | 240 | 1.5 | 150 x 150 |
mdpi | 160 | 1.0 | 100 x 100 |
Следующая: «Метрики и контуры» >>
<< Предыдущая: «Принципы»
P.
S. Это тоже может быть интересно:
dp — Викисловарь
Египетский[править]
Произношение[править]
Глагол[править]
2-букв.
- (переходный) по вкусу (еда, напиток, вкус) [начиная с Текстов пирамид]
- (переходный, образно) пройти, испытать (плохое чувство или событие) [со времен Старого Царства]
- (переходный, образно) чувствовать, ощущать [Новое Царство]
Перегиб[править]
Спряжение dp (двухбуквенное / 2-букв. / 2рад.) — базовая основа: dp , удвоенная основа : dpp
формы инфинитива | императив | |||
---|---|---|---|---|
инфинитив | отрицательное дополнение | дополнительный инфинитив 1 | единственное число | во множественном числе |
дп | дпв, дп | дпт | дп , дп | dp , j.dp |
«псевдовербальные» формы | |||
---|---|---|---|
неподвижный шток | перифрастический несовершенный 2 | перифрастический перспективный 2 | |
дп | хр дп | м дп | r dp |
спряжение суффиксов | |||||
---|---|---|---|---|---|
внешний вид / настроение | активно | пассивный | контингент | ||
вид/настроение | активно | пассивный | |||
идеальный | дп.![]() | дпв, дп | подряд | дп.джн | Active + .TJ 1 , .TW 2 |
Active + .TJ 1 ,. TW 2 1112 | |||||
дпт | |||||
совершенный 3 | дп | активный + .tj 1 , .tw 2 | обязательный 1 | дп.ḫr | активный + .tj 1 , .tw 2 |
несовершенный | дп , дп 1 | активный + .![]() | |||
перспективный 3 | дп | дпп | потенциалис 1 | дп.кꜣ | active + .tj 1 , .tw 2 |
active + .tj 1 , .tw 2 | |||||
subjunctive | дп , дп 1 | активный + .tj 1 , .tw 2 |
словесные прилагательные | |||||||||
---|---|---|---|---|---|---|---|---|---|
внешний вид / настроение | относительных (в т.ч. именных/эмфатических) форм | причастий | |||||||
активный | пассивный | активно | пассивный | ||||||
идеальный | дп.![]() | активный + .tj 1 , .tw 2 | — | — | |||||
совершенный | дп | активный + .tj 1 , .tw 2 | дп | dpp, dppj 6 , dp 2 , dpw 2 5 , dpy 2 5 | 27 5 несовершенный | j.dp 1 , dp , dpy, dpw 5 | активный + .tj 1 , .tw 2 | j.dp 1 , j.dpw 1 5 , dp , dpj 6 , т/д 6 | дп , дпв 5 |
проспективный | дп , дптж 7 | — | dptj 4 , dpt 4 | ||||||
|
Альтернативные формы0004
Производные термины
ПотомкиИмя собственное[править]м
Альтернативные формы
Романизация[править]дп
Ссылки[править]
dp — WiktionarySee also: DP and D/P Содержимое
Египетский[править]Произношение[править]
Глагол[править] 2-букв.
Перегиб[править]Спряжение dp (двухбуквенный / 2-лит. / 2рад.) — базовая основа: dp , удвоенная основа: dp
Альтернативные формы0004
|