透過小工具提供實用資料

小工具是實體錶面和智慧手錶錶面的功能,可顯示額外資訊。通常,使用者會選取小工具顯示的資訊。

小工具通常有以下幾種形狀:

  1. 矩形
  2. 圓形
  3. 沿著錶面邊緣的弧形
  4. 背景,覆蓋整個錶面

在 Wear OS 中,小工具系統可分為兩個部分:

  1. 小工具的資料來源
  2. 小工具算繪

舉例來說,健康與健身應用程式可能會導入「每日步數」小工具資料來源。這項資訊可由 WFF 錶面算繪。

小工具中的資料來源

小工具資料來源只會指定要轉譯的資料,以及小工具類型。資料來源不會決定資料在錶面上的呈現方式。

舉例來說,健康與健身「每日步數」小工具資料來源可能會產生以下資料,指出使用者今天已走了 2,400 步,距離目標 10,000 步還差 7,600 步:

請注意,這些資料中沒有任何內容會指出應如何顯示。

錶面會指定可算繪的小工具類型。這會決定使用者可從哪些資料來源中進行選擇。

以每日步數範例來說,您可以在錶面定義中決定如何顯示 ValueTargetValue:是文字還是進度指標?這由錶面設計師自行決定。

定義小工具

在錶面上顯示小工具對使用者來說十分實用,因為他們可以一目瞭然地查看更多資訊,並依個人需求自訂錶面。

決定錶面是否支援小工具、支援多少小工具、小工具的形狀和位置,以及支援哪些類型的資料。

錶面上用於小工具的每個空間都定義為 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, PartImagePartText) 來顯示小工具資料。

Complication 資料中的元素可存取特殊資料來源:COMPLICATION,該資料來源提供小工具資料來源設定的各種資料屬性。

舉例來說,SMALL_IMAGE 小工具可設定 COMPLICATION.SMALL_IMAGECOMPLICATION.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 時,會遇到許多挑戰:

  1. 小工具資料類型繁多,不同的應用程式可能會提供一或多個這些功能。
  2. 每個小工具資料類型除了有必要屬性外,也包含許多選用屬性。請考量不同的組合,確認可用的屬性是否能產生最實用的算繪結果。

如要解決這些問題,可以採用以下策略:

  1. 支援每個版位中的多種小工具類型。舉例來說,小工具資料來源廣泛支援 SHORT_TEXT,因此支援多種不同類型 (例如小圓形小工具的 SHORT_TEXT RANGED_VALUE) 可提高相容性。
  2. 在錶面上提供不同類型的小工具。舉例來說,您可以在錶面主體的圓形小工具上支援 RANGED_VALUEGOAL_PROGRESS,在邊緣位置的弧形小工具上支援 SHORT_TEXTSMALL_IMAGE
  3. 檢查每種資料類型的選用元素。例如,SHORT_TEXT 可選擇支援標題屬性和圖片。您用於轉譯可用資料的版面配置,可能會因圖片或標題是否可用而有所不同。