導覽

導覽是指允許使用者在應用程式的不同內容片段中,自由進行瀏覽、進入及退出的互動方式。

您可以利用 Android Jetpack 的 Navigation 元件實作導覽作業,包括簡單的按鈕點擊或應用程式列與導覽匣等較為複雜的模式。

此外,Navigation 元件還會依循一組既定原則,確保提供一致且可預測的使用者體驗。

Navigation 的主要部分

Navigation 元件包含以下說明的三個主要部分:

  • 導覽圖:一種 XML 資源,可集中提供所有導覽相關資訊。這包括應用程式內的所有個別內容區域 (稱為「目的地」),以及使用者可在應用程式中採取的可能路徑。
  • NavHost:顯示導覽圖中目的地的空白容器。導覽元件包含預設的 NavHost 實作 (NavHostFragment),可顯示片段目的地。
  • NavController:在 NavHost 中管理應用程式導覽的物件。當使用者在整個應用程式中移動時,NavController 會自動化調度管理 NavHost 中目的地內容的交換。

瀏覽應用程式時,您會告知 NavController 您想沿導覽圖中的特定路徑瀏覽,或直接前往特定目的地。NavController 會在 NavHost 中顯示相應的目的地。

導覽元件提供許多其他好處,包括:

  • 處理片段交易。
  • 根據預設,正確處理「向上」和「返回」動作。
  • 為動畫與轉換提供標準化資源。
  • 實作及處理深層連結。
  • 提供 Navigation UI 模式 (如導覽匣和底部導覽),只需極少的額外工作。
  • 包含 Safe Args,這個 Gradle 外掛程式可在目的地之間瀏覽及傳遞資料時確保類型安全。
  • 提供 ViewModel 支援:您可將 ViewModel 的範圍限定為導覽圖,在圖表的目的地之間共用 UI 相關資料。

此外,您還可以使用 Android Studio 的導覽編輯器查看及編輯導覽圖。

Navigation 與 Android Studio 的最新穩定版相容。

後續步驟

如需更多有關 Navigation 元件的說明文件和資源,請參閱下列資源。

開始使用

其他主題

範例

程式碼研究室

影片