Основные единицы измерения
dp (density-independent pixels)
- Размеров элементов интерфейса.
- Отступов.
- Полей.
- Автоматически масштабируются под плотность экрана.
sp (scale-independent pixels)
- Только для текста.
- Учитывают системные настройки размера шрифта.
px (pixels)
- Абсолютные пиксели.
- Редко используются в разработке.
- Зависит от плотности экрана.
pt (points)
- 1 pt = 1/72 дюйма.
- Используется редко.
Дополнительные единицы
em
- Относительная единица.
- Зависит от размера шрифта родительского элемента.
rem
- Относительная единица.
- Зависит от размера шрифта корневого элемента.
%
- Процент от родительского контейнера.
Специальные единицы в Compose
TextUnit
- Используется для размеров текста.
- Включает sp и другие единицы.
Dp
- Основной тип для размеров в Compose.
- Заменяет dp из традиционной Android-разработки.
Примеры использования
ВыделитьKotlin
// В Compose
Text(
text = "Hello",
fontSize = 16.sp, // для текста
modifier = Modifier
.width(100.dp) // для размеров
.padding(16.dp) // для отступов
)
// Создание размеров
val size = 20.dp
val textSize = 14.spРекомендации по использованию
- Для текста всегда используйте
sp. - Для размеров элементов и отступов —
dp. - Избегайте использования
pxв новой разработке. - В редких случаях можно использовать
emилиremдля адаптивного дизайна.