小工具是實體和智慧手錶錶面的功能,可顯示額外資訊。使用者通常會選取要在小工具中顯示的資訊。
小工具通常有以下幾種形狀:
- 矩形
- 圓形
- 錶面邊緣的弧形
- 背景,涵蓋整個錶面
在 Wear OS 中,複雜功能系統可分為兩部分:
- 小工具的資料來源
- 小工具算繪
舉例來說,健康與健身應用程式可能會實作「每日步數」複雜功能資料來源。這可能會由 WFF 錶面算繪。
小工具中的資料來源
小工具資料來源只會指定要算繪的資料和小工具類型。資料來源不會決定資料在錶面上的呈現方式。
舉例來說,健康與健身的「每日步數」複雜功能資料來源可能會產生下列資料,指出使用者今天已走了 2400 步,目標是 10000 步:
- 類型:
GOAL_PROGRESS - 值:
2400 - TargetValue:
10000
請注意,這項資料中沒有任何資訊指出應如何算繪。
錶面會指定可顯示的小工具類型。這會決定使用者可選取的資料來源。
以「每日步數」為例,您可以在錶面定義中決定如何算繪 Value 和 TargetValue:以文字形式還是進度指標?這由錶面設計師決定。
定義小工具
錶面可顯示小工具,讓使用者一目瞭然各種資訊,並根據需求自訂,因此這項功能對使用者來說非常實用。
決定錶面要支援的小工具數量、形狀和位置,以及支援的資料類型。
錶面上每個小工具空間都定義為 ComplicationSlot,其中定義了小工具的顯示邊界區域:
<ComplicationSlot slotId="1" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY" x="100" y="100" width="100" height="100"> <BoundingOval x="0" y="0" width="100" height="100" /> <Complication type="SHORT_TEXT"> <!-- Complication content for rendering SHORT_TEXT data goes here --> </Complication> <Complication type="SMALL_IMAGE"> <!-- Complication content for rendering SMALL_IMAGE data goes here --> </Complication> </ComplicationSlot>
其他邊界形狀 (例如矩形和橢圓) 也可套用類似做法。
設定小工具類型和預設值
小工具系統提供多種不同類型,讓錶面能表達可在畫面上呈現的資料類型。舉例來說,如先前所示,Arc 複雜功能不適合 SMALL_IMAGE 等以圖片為基礎的複雜功能資料類型,但可能很適合 RANGED_VALUE 等數值資料。
在 ComplicationSlot 宣告中,將 supportedTypes 設為可在這個版位中顯示的類型,並以空格分隔。
您也必須為 ComplicationSlot 設定預設來源,除非您允許 EMPTY 類型,在這種情況下,設定預設來源是選用項目:
<ComplicationSlot slotId="2" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY" x="250" y="100" width="100" height="100"> <DefaultProviderPolicy defaultSystemProvider="STEP_COUNT" defaultSystemProviderType="SHORT_TEXT" /> <!-- ... --> </ComplicationSlot>
除了必須指定系統供應商,您也可以選擇指定非系統供應商,例如預設使用的第三方供應商 (如果已安裝)。
算繪小工具資料
定義 ComplicationSlot、界線和包含的 Complication 元素後,請使用標準 WFF 元件 (例如 PartDraw, PartImage 和 PartText) 顯示複雜功能資料。
Complication 資料中的元素可存取特殊資料來源:COMPLICATION,這個來源提供複雜功能資料來源設定的各種資料屬性。
舉例來說,SMALL_IMAGE 錶面小工具可以設定 COMPLICATION.SMALL_IMAGE 和 COMPLICATION.SMALL_IMAGE_AMBIENT 值。這些項目可用於 Image 元素,取代資源:
<Complication type="SMALL_IMAGE"> <PartImage x="0" y="0" width="100" height="100"> <Image resource="[COMPLICATION.SMALL_IMAGE]" /> </PartImage> </Complication>
每種不同的複雜功能類型都有不同的可用屬性集,可供設定;如需各項屬性的完整清單,請參閱 Complication 參考資料。這個範例會顯示 SHORT_TEXT 複雜功能中的文字:
<Complication type="SHORT_TEXT"> <PartText x="0" y="0" width="100" height="100"> <Text> <Font size="32"> <Template> <![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" /> </Template> </Font> </Text> </PartText> </Complication>
在顯示複雜功能時盡量提高實用性
在錶面新增 ComplicationSlots 時,可能會遇到下列問題:
- 小工具資料類型繁多,不同應用程式可能提供其中一項或多項功能。
- 每個小工具資料類型除了有必要屬性,也有許多選用屬性。確認系統會根據可用屬性,並考量不同組合,產生最實用的算繪結果。
如要解決這些問題,可以採取以下策略:
- 每個時段支援多種小工具類型。舉例來說,小工具資料來源相當廣泛支援
SHORT_TEXT,因此支援多種不同類型 (例如小型圓形小工具的SHORT_TEXT RANGED_VALUE) 可提高相容性。 - 在錶面上提供不同類型的小工具。舉例來說,您可以在邊緣位置的 Arc 小工具上支援
RANGED_VALUE和GOAL_PROGRESS,在錶面主體的圓形小工具上支援SHORT_TEXT和SMALL_IMAGE。 - 檢查每種資料類型的選用元素。舉例來說,
SHORT_TEXT可選擇性支援標題屬性和圖片。可用的資料可能包含圖片或標題,因此顯示方式可能有所不同。