Similar presentations:
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стили.
software