Руководство по миграции
- Руководство по миграции с Navigation 2 на Navigation 3 : пошаговое руководство по миграции Android-приложения с Navigation 2 на Navigation 3, охватывающее обновления зависимостей, изменения маршрутов, управление состоянием и замену компонентов пользовательского интерфейса.
Требования
- Руководство: Переход к типобезопасной навигации в Compose : Пошаговое руководство по переходу Android-приложения от строковой навигации к типобезопасной навигации в Jetpack Compose с использованием Jetpack Navigation 2.
Документация для разработчиков
- * Навигация 3. Для получения дополнительной информации об основах, сохранении и управлении состоянием навигации, модульной структуре кода навигации, создании пользовательских макетов с использованием сцен, анимации между пунктами назначения, а также применении логики или оберток к пунктам назначения, воспользуйтесь поиском в документации.
Рецепты
Примеры кода, демонстрирующие распространенные шаблоны.
Базовое использование API
- Базовый : Отображает наиболее базовый функционал API.
- Сохраняемый стек возврата : демонстрирует базовое использование API с постоянно сохраняемым стеком возврата.
- DSL поставщика записей : демонстрирует базовое использование API с помощью DSL entryProvider.
Общий пользовательский интерфейс
- Стандартный пользовательский интерфейс : демонстрирует, как реализовать стандартный шаблон навигации с нижней панелью навигации и несколькими вкладками «Назад», где каждая вкладка в панели навигации имеет свою собственную историю навигации.
Прямые ссылки
- Базовый пример : показывает, как преобразовать URL-адрес прямой ссылки из Android-интента в навигационную клавишу.
- Расширенные возможности : демонстрируется, как обрабатывать глубокие ссылки с помощью синтетического стека возврата и корректного поведения навигации "Вверх".
Сцены
Используйте встроенные сцены
- Диалог : Показывает, как создать диалоговое окно.
Создавайте пользовательские сцены
- BottomSheet : Показывает, как создать целевой объект BottomSheet.
- Сцена «Список-Подробности» : демонстрирует, как реализовать адаптивные макеты «список-подробности» с использованием API сцен Navigation 3.
- Двухпанельная сцена : демонстрирует, как реализовать адаптивные двухпанельные макеты с использованием API Navigation 3 Scenes.
Материальная адаптивность
- Material List-Detail : Демонстрирует, как реализовать адаптивную компоновку «список-подробности» с использованием Material 3 Adaptive.
- Вспомогательная панель Material : демонстрирует, как реализовать адаптивную компоновку вспомогательной панели с использованием Material 3 Adaptive.
Анимации
- Анимация : Показывает, как переопределить анимацию по умолчанию для всех пунктов назначения и для одного пункта назначения.
Типичное поведение стека возврата
- Множественные стеки возврата : демонстрирует, как создать несколько маршрутов верхнего уровня, каждый со своим собственным стеком возврата. Маршруты верхнего уровня отображаются в панели навигации, позволяя пользователям переключаться между ними. Состояние сохраняется для каждого маршрута верхнего уровня, и состояние навигации сохраняется при изменении конфигурации и завершении процесса.
Условная навигация
- Условная навигация : переключение на другой поток навигации при выполнении определенного условия. Например, для аутентификации или регистрации нового пользователя.
Архитектура
- Модульный навигационный код (Hilt) : демонстрирует, как разделить навигационный код на отдельные модули, используя Hilt или Dagger для внедрения зависимостей.
- Модульный навигационный код (Koin) : демонстрирует, как разделить навигационный код на отдельные модули с помощью Koin для внедрения зависимостей.
Работа с ViewModel
Передача аргументов навигации
- Базовая ViewModel : аргументы навигации передаются в
ViewModel, созданную с помощьюviewModel()
Возвращаемые результаты
- Возврат результатов в виде событий : Возврат результатов в виде событий к содержимому другого
NavEntry - Возврат результатов в виде состояния : Возврат результатов в виде состояния, хранящегося в
CompositionLocal