導航

試試 Compose
Wear OS 上的 Jetpack Compose 是 Wear OS 建議使用的 UI 工具包。

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

設計

如應用程式設計指南所述,請保持應用程式階層淺層且線性。

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

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

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

實作導覽

實作導覽時,您有三個選項,如下列各節所述:

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

僅限活動

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

強烈建議採用這種做法。這可簡化程式碼,且活動會自動支援滑動關閉。這也讓實作微光模式更簡單。

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

活動和片段

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

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

在 Wear OS 應用程式中使用片段時,可能會遇到以下問題:

  • 您必須自行實作滑動關閉功能。否則,當使用者執行滑動手勢時,就會退出整個應用程式。
  • 如果您使用 AmbientLifecycleObserver 支援微光模式,請在主機活動的生命週期中註冊觀察器,並在片段中協調微光模式更新。AmbientLifecycleObserver 類別會取代已淘汰的 AmbientMode 類別。

如要支援滑動關閉片段,您必須將包含片段的檢視畫面納入 SwipeDismissFrameLayout 類別。詳情請參閱「滑動關閉手勢」。這樣一來,使用者就能在應用程式中享有流暢一致的體驗。

注意:使用片段時,請使用 FragmentManager.add,而非 FragmentManager.replace,以支援滑動關閉手勢。這有助於確保先前的片段在滑動時,會在頂端片段下方算繪。

Jetpack Navigation

Jetpack Navigation 可以在 Wear OS 上運作,但缺點與片段相同。這會增加開發工作,而且由於 Wear OS 應用程式的階層通常較淺且呈線性,因此不會提供太多優勢。最好只使用活動。

如要充分運用 Jetpack Navigation,請按照下列步驟操作: