導航

試試 Compose
建議您使用 Wear OS 專用的 Jetpack Compose UI 工具包。

為每個使用者歷程設計個別畫面後,您可能會得到幾個直向或單一畫面。接下來,您必須決定如何設計這些畫面,讓它們能協同運作,以及如何實作導覽功能。

設計

請按照應用程式設計規範,讓應用程式的階層保持淺層和線性。

首先,應用程式啟動器應開啟最常見的使用者歷程。設計每個使用者歷程時,請將最重要的內容放在最上方。如果是直向容器,請使用底部連結至其他較不常見的使用者歷程和設定。

頂端內容是目前的活動,或是最重要的摘要統計資料
圖 1. 將最重要的內容放在直向容器頂端。

當使用者進入其中一個畫面時,請確保他們可以使用滑動關閉手勢,向下瀏覽返回堆疊

實作導覽功能

實作導覽功能時,您有三種做法,說明如下:

  • 僅限活動 (建議做法)
  • 活動和片段
  • Jetpack 導覽

僅限活動

由於直向畫面通常只有一個層級,因此您可以使用活動實作所有畫面,而不必使用片段。

我們強烈建議採用這種做法。這項功能可簡化程式碼,且活動會自動支援滑動即可關閉。這也簡化了微光模式的實作程序。

注意:如果您未使用片段,請讓活動從 ComponentActivity 繼承。其他活動類型使用的是行動裝置專用的 UI 元素,Wear OS 不需要這類元素。

活動和片段

您可以在 Wear OS 應用程式中使用活動的片段。不過,我們不建議這麼做,因為使用片段建立淺層且平坦的架構,並沒有明顯優勢。

注意:如果您使用片段,請讓片段從 FragmentActivity 繼承。其他活動類型使用的是行動裝置專用的 UI 元素,Wear OS 不需要這類元素。

在 Wear OS 應用程式中使用片段時,可能會遇到下列困難:

  • 您必須自行實作滑動即可關閉的功能。否則,使用者滑動時會離開整個應用程式。
  • 如果您使用 AmbientMode,請務必自訂,確保其正常運作。AmbientMode 是在活動中設定,因此實作片段時必須將這點納入考量。

如要支援使用片段滑動關閉,您必須將內含片段的檢視畫面包裝在 SwipeDismissFrameLayout 類別中。詳情請參閱「滑動關閉手勢」。這樣做可確保使用者享有一致的應用程式體驗。

注意:使用片段時,請使用 FragmentManager.add,而非 FragmentManager.replace,以支援滑動關閉手勢。這樣一來,在頂端片段滑動移除時,就能確保先前的片段會顯示在頂端片段下方。

Jetpack 導覽

Jetpack Navigation 可以在 Wear OS 上運作,但與片段有相同的缺點。這會增加開發工作,而且由於 Wear OS 應用程式的階層通常較淺且呈線性,因此不會帶來太多優勢。建議採用僅限活動的方法。

如要充分運用 Jetpack Navigation,請執行下列操作: