Глава 1. Введение в Jetpack Compose
Что такое Jetpack Compose
Установка Android Studio
Первый проект на Jetpack Compose
Создание визуального интерфейса
Создание компонентов Composable
Взаимодействие с кодом Kotlin
Gradle
Добавление зависимостей
Глава 2. Модификаторы и визуальный интерфейс
Что такое модификаторы
Установка цвета
Установка размеров
Установка отступов и смещения
Создание прокрутки
Создание границы. Модификатор border
Модификатор clip. Создание фрагмента компонента
Создание тени и модификатор shadow
Обработка нажатий
Переопределение и объединение модификаторов
Глава 3. Контейнеры компоновки
Box
Column
Row
Композиции контейнеров
Surface
Списки LazyColumn и LazyRow
Грид
LazyVerticalStaggeredGrid и LazyHorizontalStaggeredGrid
FlowRow и FlowColumn
IntrinsicSize
Программная прокрутка
Прикрепленные заголовки
Глава 4. Состояние компонентов
Введение в состояние компонентов
Однонаправленный поток данных
CompositionLocal
Производное состояние
Глава 5. Визуальные компоненты
Text
Аннотированные строки
Кнопка Button
Ввод текста, TextField и OutlinedTextField
Модификатор Modifier.toggleable
Checkbox
Выбираемый компонент и модификатор selectable
RadioButton
Иконки и компоненты IconButton и IconToggleButton
FloatingActionButton и ExtendedFloatingActionButton
Панели приложения TopAppBar и BottomAppBar
Scaffold
Всплывающие сообщения и Snackbar
Выдвижная панель ModalNavigationDrawer
Slider
Переключатель Switch
Диалоговые окна AlertDialog
Меню DropdownMenu
Индикаторы прогресса
Глава 6. Ресурсы в Jetpack Compose
Ресурсы строк
Ресурсы dimension
Ресурсы Color
Глава 7. Работа с изображениями
Компонент Image
Ресурсы изображений и ImageBitmap
Векторная графика и ImageVector
Глава 8. Кастомные контейнеры компоновки
Создание модификаторов компоновки
Создание контейнеров компоновки
Глава 9. ConstraintLayout
Подключение ConstraintLayout
Установка ограничений в ConstraintLayout
Создание цепочек компонентов
Направляющие линии guildeline
Барьеры
Наборы ограничений ConstraintSet
Глава 10. Корутины и асинхронность
Введение в корутины
LaunchedEffect
Потоки Flow
StateFlow
SharedState
Глава 11. Пагинация
Введение в пагинацию
Пример пагинации. Навигационные кнопки
Глава 12. Анимация
Анимация Dp. animateDpAsState
Функция tween. Время и сглаживание анимации
Функция repeatable и повторение анимации
Функция spring и эффект отскока
Функция keyframes и анимация по ключевым кадрам
Анимация цвета. animateColorAsState
Анимация числовых значений и animateFloatAsState
Объединение анимаций
AnimatedVisibility. Управление видимостью компонента
Настройка анимации в AnimatedVisibility
Модификатор animateEnterExit()
Crossfade
Глава 13. Рисование. Canvas
Компонент Canvas и DrawScope
Отрисовка линий
Отрисовка прямоугольников
Отрисовка кругов и овалов
Отрисовка дуги
Рисование геометрических путей
Отрисовка точек
Вывод текста
Отрисовка изображений
Трансформации
Создание градиента
Глава 14. ViewModel
Хранение состояния во ViewModel и взаимодействие с интерфейсом
LiveData
Пример приложения с VieModel
Глава 15. Работа с базой данных
SQLite и Room
Основные элементы Room
Пример работы с SQLite и Room
Глава 16. Навигация
Введение в навигацию
Пример навигации
Параметры навигации
Панель навигации
Глава 17. Обработка жестов
Жесты нажатия
Петаскивание
Перетаскивание с помощью PointerInputScope
Перетаскивание по опорным точкам
Прокрутка
Масштабирование, вращение и перемещение
Глава 17. Дополнительные статьи
Кнопка прокрутки
Темы. Material Design
Биометрическая аутентификация