Что такое px, dp и sp в контексте Android-разработки?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
-
px (pixels): Пиксели на экране. Это реальные точки, из которых состоит дисплей. Размер в
pxбудет зависеть от плотности экрана. На устройствах с разной плотностью один и тот же размер вpxбудет занимать разную физическую площадь. -
dp (density-independent pixels): Независимые от плотности пиксели. Единица измерения, основанная на физическом размере экрана.
dpобеспечивает одинаковый физический размер элементов UI на экранах с различной плотностью. 160dpпримерно равны 1 дюйму на экране средней плотности (mdpi). Фреймворк Android масштабируетdpсогласно плотности устройства. -
sp (scale-independent pixels): Независимые от масштабирования пиксели. Схожи с
dp, но дополнительно масштабируются в зависимости от настроек шрифта пользователя (например, размер шрифта в системных настройках).spрекомендуется использовать для задания размера текста.
Пример использования в XML-разметке:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" // Размер текста в sp
android:padding="8dp" /> // Отступы в dp
<ImageView
android:layout_width="50dp" // Ширина изображения в dp
android:layout_height="50dp" /> // Высота изображения в dp
Сводная таблица:
| Единица | Назначение | Масштабируется от | Рекомендуется для |
|---|---|---|---|
| px | Физический пиксель | - | Не рекомендуется |
| dp | Независимая плотность | Плотность экрана | UI-элементы |
| sp | Независимая плотность и масштабирование | Плотность экрана и размер шрифта | Текст |