282.03K
Category: softwaresoftware

Jetpack Compose: введение и основы

1.

Что такое Jetpack Compose?
Jetpack Compose — это революционный декларативный UI-фреймворк для
Android, который заменяет классическую систему на основе XML.
Декларативность: Вы описываете что должно быть на экране, а не как это
пошагово изменять. Если данные меняются, Compose сам перерисовывает
нужные части (процесс рекомпозиции).
Преимущества:
Меньше кода: Отказ от findViewById, ViewBinding и тяжелых XML-файлов.
Единый язык: Весь интерфейс и логика пишутся на Kotlin.
Инструментарий: Мощные функции предварительного просмотра (@Preview) в
Android Studio позволяют видеть UI без запуска эмулятора.

2.

Первый проект на Jetpack Compose
• Чтобы создать проект "с нуля", выполните следующие шаги:
• Запуск: В Android Studio выберите New Project -> Empty Compose
Activity.
• Activity: Ваша основная активность должна наследоваться от
ComponentActivity.
• Точка входа: Вместо setContentView(R.layout...) используется метод
setContent { ... }, внутри которого вызываются UI-функции.
• Первый запуск: Даже пустой шаблон содержит функцию
Greeting("Android"), которая выводит текст на экран.

3.

Создание визуального интерфейса
• Интерфейс в Compose строится с помощью стандартных "строительных
блоков":
• Компоненты макета (Layouts):
• Column: Вертикальный стек элементов.
• Row: Горизонтальный ряд элементов.
• Box: Наложение элементов друг на друга (аналог FrameLayout).
• Модификаторы (Modifier): Ключевой инструмент для настройки элементов.
Позволяют задать:
• Размеры (fillMaxWidth, size).
• Отступы (padding).
• Фон и скругление углов (background, clip).
• Обработку нажатий (clickable).

4.

Создание компонентов Composable
• Composable-функция — это обычная функция Kotlin, помеченная аннотацией @Composable.
Правила создания:
• Название всегда начинается с заглавной буквы.
• Функция не должна ничего возвращать (тип Unit).
• Она должна быть "чистой": только принимать данные и отображать их.

5.

Взаимодействие с кодом Kotlin
• Compose полностью интегрирован в экосистему Kotlin, что дает
огромную гибкость:
• Управление состоянием (State): Чтобы UI обновлялся, используйте
mutableStateOf. Для сохранения состояния при перерисовке —
remember.
• Списки: Для отображения больших списков используется
LazyColumn (аналог RecyclerView), который эффективно
отрисовывает только видимые элементы.
• Интеграция: Вы можете использовать стандартные конструкции
Kotlin (if, when, for) прямо внутри UI-кода для условной отрисовки
элементов.

6.

Gradle и AndroidManifest.xml
Файл build.gradle.kts (уровень модуля):
Включение Compose:
Зависимости:
Необходимо добавить
библиотеки ui, material3, ui-toolingpreview и activity-compose
Файл AndroidManifest.xml:
Минимум изменений: В манифесте всё так же
регистрируются Activity, Permissions и Intent-фильтры.
Особенности: В Compose-проектах манифест обычно
чище, так как темы оформления часто задаются через
Kotlin-код (MaterialTheme), а не только через XMLстили.
English     Русский Rules