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") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 文件。
這個構件沒有任何版本資訊。
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 版包含這些修訂項目。
修正錯誤
Navigation3
不再清除已換出並替換為其他backStack
執行個體的backStacks
裝飾器狀態。(I28a42、b/415076044)
1.0.0-alpha02 版
2025 年 5 月 23 日
發布 androidx.navigation3:navigation3-*:1.0.0-alpha02
。1.0.0-alpha02 版包含這些修訂項目。
修正錯誤
- 修正
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 提供 UI 層。開發人員可以直接將自己的狀態提供給 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 指南。