Какие знаешь компоненты в Jetpack Compose

«Какие знаешь компоненты в Jetpack Compose» — вопрос из категории Jetpack Compose, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Jetpack Compose предоставляет множество компонентов (Composables) для построения UI. Основные:

  1. Layout-компоненты

    • Column, Row – аналоги LinearLayout
    • Box – аналог FrameLayout
    • ConstraintLayout – сложные вложенные layouts
  2. Базовые элементы

    • Text("Hello") – TextView
    • Button(onClick = {}) – кнопка
    • Image(painter = ...) – изображение
  3. Списки

    • LazyColumn / LazyRow – RecyclerView аналог
  4. Material Design

    • Scaffold, TopAppBar – структура экрана
    • FloatingActionButton – FAB

Пример:

Column {
    Text("Header", style = MaterialTheme.typography.h4)
    LazyColumn {
        items(100) { index ->
            Text("Item $index")
        }
    }
    Button(onClick = { /* action */ }) {
        Text("Click me")
    }
}

Также есть Modifier для кастомизации (padding, size, clickable и т.д.).