Единицы измерения в Android/Jetpack Compose

В Android/Jetpack Compose существует несколько основных единиц измерения.

Основные единицы измерения



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-разработки.

Примеры использования


// В 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 для адаптивного дизайна.
Автор:  01.02.2026 08:23:09 pm