navigation3
最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2025 年 7 月 2 日 | - | - | - | 1.0.0-alpha05 |
声明依赖项
如需添加 navigation3 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.navigation3.navigation3-runtime:1.0.0-alpha05" implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha05") implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha05") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
此工件没有版本说明。
版本 1.0
版本 1.0.0-alpha05
2025 年 7 月 2 日
发布了 androidx.navigation3:navigation3-*:1.0.0-alpha05
。版本 1.0.0-alpha05 中包含这些提交内容。
行为变更
NavEntry
的状态现在严格基于传递给NavDisplay
的当前装饰器列表。这意味着,如果存在多个返回堆栈,装饰器应沿着返回堆栈进行交换,以保留返回堆栈上 NavEntry 的状态。否则,状态将像条目被弹出(而不是交换)一样被清除。(I7a759、b/428033667)
版本 1.0.0-alpha04
2025 年 6 月 18 日
发布了 androidx.navigation3:navigation3-*:1.0.0-alpha04
。版本 1.0.0-alpha04 中包含这些提交内容。
API 变更
NavEntry.content
现已设为不公开。如需调用NavEntry
内容,请调用新的NavEntry.Content()
API,该 API 不再需要key
参数即可调用。(Icd0fd、b/420991203)NavEntry.key
现在是一个私有字段。NavEntry
及其相关状态应通过新的contentKey
字段进行标识,该字段由新的contentKeyFactory
lambda 生成,默认值为从NavEntry.key
生成的可保存哈希值(I81a6c、b/422001357、b/420991203 I2d7d4、b/420991203、b/422841812)
依赖项变更
- Navigation3 现在依赖于新的
androidx.navigationevent.compose
制品。
版本 1.0.0-alpha03
2025 年 6 月 4 日
发布了 androidx.navigation3:navigation3-*:1.0.0-alpha03
。版本 1.0.0-alpha03 中包含这些提交内容。
bug 修复
Navigation3
将不再清除已换出并替换为另一个backStack
实例的backStacks
的装饰器状态。(I28a42、b/415076044)
版本 1.0.0-alpha02
2025 年 5 月 23 日
发布了 androidx.navigation3:navigation3-*:1.0.0-alpha02
。版本 1.0.0-alpha02 中包含这些提交内容。
bug 修复
- 修复了
SavedStateNavEntryDecorator
的问题,该问题会导致具有相同属性值的不同数据类发生冲突。(b/418070648、Iff4775) - 修复了在未声明显式依赖项的情况下运行时会导致崩溃的类缺失问题。(b/419049149、I4b4ed)
版本 1.0.0-alpha01
2025 年 5 月 20 日
发布了 androidx.navigation3:navigation3-*:1.0.0-alpha01
。版本 1.0.0-alpha01 中包含这些提交内容。
新功能
Navigation3 是一个全新的导航库,专门用于处理 Jetpack Compose 应用内导航。androidx.navigation3.runtime
制品提供构建块,而 androidx.navigation3.ui
制品通过 NavDisplay
API 提供界面层。开发者可以直接向 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 指南。