小工具是實體錶面和智慧手錶錶面的功能,可顯示額外資訊。通常,使用者會選取小工具顯示的資訊。
小工具通常有以下幾種形狀:
- 矩形
- 圓形
- 沿著錶面邊緣的弧形
- 背景,覆蓋整個錶面
在 Wear OS 中,小工具系統可分為兩個部分:
- 小工具的資料來源
- 小工具算繪
舉例來說,健康與健身應用程式可能會導入「每日步數」小工具資料來源。這項資訊可由 WFF 錶面算繪。
小工具中的資料來源
小工具資料來源只會指定要轉譯的資料,以及小工具類型。資料來源不會決定資料在錶面上的呈現方式。
舉例來說,健康與健身「每日步數」小工具資料來源可能會產生以下資料,指出使用者今天已走了 2,400 步,距離目標 10,000 步還差 7,600 步:
- 類型:
GOAL_PROGRESS
- 值:
2400
- TargetValue:
10000
請注意,這些資料中沒有任何內容會指出應如何顯示。
錶面會指定可算繪的小工具類型。這會決定使用者可從哪些資料來源中進行選擇。
以每日步數範例來說,您可以在錶面定義中決定如何顯示 Value
和 TargetValue
:是文字還是進度指標?這由錶面設計師自行決定。
定義小工具
在錶面上顯示小工具對使用者來說十分實用,因為他們可以一目瞭然地查看更多資訊,並依個人需求自訂錶面。
決定錶面是否支援小工具、支援多少小工具、小工具的形狀和位置,以及支援哪些類型的資料。
錶面上用於小工具的每個空間都定義為 ComplicationSlot
,其中定義了小工具顯示的邊界區域:
<ComplicationSlot slotId="1" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY"
x="0" y="0" width="225" height="225">
<BoundingArc centerX="225" centerY="225" width="450" height="450"
startAngle="270" endAngle="360" thickness="50" />
<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="1" ...>
<BoundingArc .../>
<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 ...>
<Image resource="[COMPLICATION.SMALL_IMAGE]" />
</PartImage>
</Complication>
每種小工具類型都有不同的可用屬性組合,如需完整清單,請參閱 Complication
參考資料。以下範例會顯示 SHORT_TEXT
小工具的文字:
<Complication type="SHORT_TEXT">
<PartText ...>
<Text>
<Font ...>
<Template>
<![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" />
</Template>
</Font>
</PartImage>
</Complication>
在算出小工具時盡量提高實用性
在錶面上新增 ComplicationSlots
時,會遇到許多挑戰:
- 小工具資料類型繁多,不同的應用程式可能會提供一或多個這些功能。
- 每個小工具資料類型除了有必要屬性外,也包含許多選用屬性。請考量不同的組合,確認可用的屬性是否能產生最實用的算繪結果。
如要解決這些問題,可以採用以下策略:
- 支援每個版位中的多種小工具類型。舉例來說,小工具資料來源廣泛支援
SHORT_TEXT
,因此支援多種不同類型 (例如小圓形小工具的SHORT_TEXT RANGED_VALUE
) 可提高相容性。 - 在錶面上提供不同類型的小工具。舉例來說,您可以在錶面主體的圓形小工具上支援
RANGED_VALUE
和GOAL_PROGRESS
,在邊緣位置的弧形小工具上支援SHORT_TEXT
和SMALL_IMAGE
。 - 檢查每種資料類型的選用元素。例如,
SHORT_TEXT
可選擇支援標題屬性和圖片。您用於轉譯可用資料的版面配置,可能會因圖片或標題是否可用而有所不同。