導覽是指允許使用者在應用程式的不同內容片段中,自由進行瀏覽、進入及退出的互動方式。Android Jetpack 的導覽元件可協助您實作導覽作業,包括簡單的按鈕點擊或應用程式列與導覽匣等較為複雜的模式。導覽元件還透過遵循一組既定原則來確保提供一致且可預測的使用者體驗。
導覽元件包含以下三個關鍵部分:
- 導覽圖:一種 XML 資源,在一個集中位置包含所有導覽相關的資訊。這包括應用程式內的所有個別內容區域 (稱為「目的地」),以及使用者能透過應用程式獲取的可能路徑。
NavHost
:顯示導覽圖中目的地的空白容器。導覽元件包含預設的NavHost
實作 (NavHostFragment
),可顯示片段目的地。NavController
:在NavHost
中管理應用程式導覽的物件。當使用者在整個應用程式中移動時,NavController
會自動化調度管理NavHost
中目的地內容的交換。
瀏覽應用程式時,您會告知 NavController
您想沿導覽圖中的特定路徑瀏覽,或直接前往特定目的地。NavController
會在 NavHost
中顯示相應的目的地。
導覽元件提供許多其他好處,包括:
- 處理片段交易。
- 根據預設,正確處理「向上」和「返回」動作。
- 為動畫與轉換提供標準化資源。
- 實作及處理深層連結。
- 包括導覽 UI 模式 (如導覽匣及底部導覽),使用者只需完成極少的額外工作。
- Safe Args - 一種 Gradle 外掛程式,可在目的地之間瀏覽及傳遞資料時提供類型安全。
ViewModel
支援 - 您可將ViewModel
的範圍限定為導覽圖,以在圖表的目的地之間共用 UI 相關資料。
此外,您亦可使用 Android Studio 的導覽編輯器檢視及編輯導覽圖。
後續步驟
如需有關導覽元件的更多文件與資源,請參閱下列內容。
開始使用
其他主題
- 導覽原則
- 將不同的板型規格納入設計考量
- 手勢操作
- 設計導覽圖
- 巢狀圖形
- 通用動作
- 條件式導覽
- 在目的地之間傳遞資料
- 建立目的地的深層連結
- 為目的地之間的轉換加上動畫效果
- 使用 NavigationUI 更新 UI 元件
- 建立含有分頁的滑動檢視畫面
- 透過導覽元件進行程式輔助式互動
- 測試導覽功能
- 新增目的地類型
- 提供自訂返回導覽功能
- 遷移至導覽元件
範例
程式碼研究室
網誌文章
影片
- 瀏覽導覽功能
- 移至單一活動的 10 種最佳做法
- 單一活動:原因、時機和方式 (2018 年 Android 開發人員高峰會)
- Android Jetpack:使用導覽控制器管理 UI 導覽 (2018 年 Google I/O 大會)