навигация3
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
---|---|---|---|---|
30 июля 2025 г. | - | - | - | 1.0.0-альфа06 |
Объявление зависимостей
Чтобы добавить зависимость от navigation3, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle
вашего приложения или модуля:
классный
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha06" implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha06" }
Котлин
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha06") implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha06") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Заметок о выпуске для этого артефакта нет.
Версия 1.0
Версия 1.0.0-альфа06
30 июля 2025 г.
Выпущена androidx.navigation3:navigation3-*:1.0.0-alpha06
. Версия 1.0.0-alpha06 содержит следующие коммиты .
Обновление зависимостей
- Navigation3 теперь зависит от Navigation Event
1.0.0-alpha05
.
Версия 1.0.0-альфа05
2 июля 2025 г.
Выпущена androidx.navigation3:navigation3-*:1.0.0-alpha05
. Версия 1.0.0-alpha05 содержит следующие коммиты .
Изменения поведения
- Состояние
NavEntry
теперь строго основано на текущем списке декораторов, переданном вNavDisplay
. Это означает, что декораторы следует менять местами в стеках возвратов при наличии нескольких стеков возвратов, чтобы сохранить состояние NavEntries в стеке возвратов. В противном случае состояния будут очищены, как при извлечении записей (а не при замене). ( I7a759 , b/428033667 )
Версия 1.0.0-альфа04
18 июня 2025 г.
Выпущена androidx.navigation3:navigation3-*:1.0.0-alpha04
. Версия 1.0.0-alpha04 содержит следующие коммиты .
Изменения API
-
NavEntry.content
теперь является приватным. Чтобы вызвать содержимоеNavEntry
, вызовите новый API-методNavEntry.Content()
, который больше не требуетkey
параметра для вызова. ( Icd0fd , b/420991203 ) -
NavEntry.key
теперь является приватным полем.NavEntry
и его соответствующие состояния должны идентифицироваться новым полемcontentKey
, которое генерируется из новой лямбда-contentKeyFactory
и по умолчанию представляет собой сохраняемый хеш, сгенерированный изNavEntry.key
( I81a6c , b/422001357 , b/420991203 I2d7d4 , b/420991203 , b/422841812 ).
Изменения зависимости
- Navigation3 теперь зависит от нового артефакта
androidx.navigationevent.compose
.
Версия 1.0.0-альфа03
4 июня 2025 г.
Выпущена androidx.navigation3:navigation3-*:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит следующие коммиты .
Исправления ошибок
-
Navigation3
больше не будет очищать состояния декоратора дляbackStacks
, которые были выгружены и заменены другим экземпляромbackStack
. ( I28a42 , b/415076044 )
Версия 1.0.0-альфа02
23 мая 2025 г.
Выпущена androidx.navigation3:navigation3-*:1.0.0-alpha02
. Версия 1.0.0-alpha02 содержит следующие коммиты .
Исправления ошибок
- Исправлена проблема с
SavedStateNavEntryDecorator
, которая вызывала коллизии для разных классов данных с одинаковыми значениями свойств. ( b/418070648 , Iff4775 ) - Исправлена проблема с отсутствующим классом, которая вызывала сбои при запуске без явного объявления зависимостей. ( b/419049149 , I4b4ed )
Версия 1.0.0-альфа01
20 мая 2025 г.
Выпущена androidx.navigation3:navigation3-*:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит следующие коммиты .
Новые функции
Navigation3 — это новая навигационная библиотека, специально разработанная для управления навигацией в Jetpack Compose внутри приложения. Артефакт androidx.navigation3.runtime
предоставляет строительные блоки, а артефакт androidx.navigation3.ui
обеспечивает пользовательский интерфейс через API NavDisplay
. Разработчики могут передавать собственное состояние непосредственно в компонуемую функцию NavDisplay
, которая изменяет содержимое в зависимости от изменений в состоянии разработчика.
@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey
val backStack = rememberNavBackStack(Home)
NavDisplay(backStack, entryProvider = entryProvider {
entry<Home> {
Column {
Text(“Home”)
Button(onClick = { backStack.add(Chat) } ) {
Text(“Go to Chat”)
}
}
}
entry<Chat> { /* My Composable Content */ }
})
Более подробную информацию см. в руководстве Navigation3 .