Zusatzfunktionen sind eine Funktion von Zifferblättern für Smartwatches und mechanische Uhren, die zusätzliche Informationen anzeigen. Normalerweise wählt der Nutzer aus, welche Informationen in einer Zusatzfunktion angezeigt werden.
In der Regel gibt es verschiedene Arten von Zusatzfunktionen:
- Rechteckig
- Kreisförmig
- Bögen am Rand des Zifferblatts
- Hintergrund, der das gesamte Zifferblatt bedeckt
In Wear OS kann das Zusatzfunktionensystem in zwei Teile unterteilt werden:
- Die Datenquelle der Zusatzfunktion
- Rendering der Zusatzfunktion
Eine Gesundheits- und Fitness-App kann beispielsweise eine Datenquelle für die Zusatzfunktion „Tägliche Schritte“ implementieren. Dies kann vom WFF-Zifferblatt gerendert werden.
Datenquellen in Zusatzfunktionen
In Datenquellen für Zusatzfunktionen werden nur die zu rendernden Daten und der Typ der Zusatzfunktion angegeben. Die Datenquelle spielt keine Rolle bei der Bestimmung, wie die Daten auf dem Zifferblatt dargestellt werden sollen.
Die Datenquelle „Tägliche Schritte“ für Gesundheit und Fitness kann beispielsweise die folgenden Daten liefern, um anzugeben, dass der Nutzer heute 2.400 Schritte von seinem Ziel von 10.000 Schritten erreicht hat:
- Typ:
GOAL_PROGRESS
- Wert:
2400
- TargetValue:
10000
Beachten Sie, dass diese Daten keine Angaben dazu enthalten, wie sie gerendert werden sollen.
Das Zifferblatt gibt an, welche Arten von Zusatzfunktionen es darstellen kann. Dadurch wird festgelegt, welche Datenquellen der Nutzer dann auswählen kann.
Im Beispiel für die täglichen Schritte legen Sie in der Definition des Zifferblatts fest, wie Value
und TargetValue
dargestellt werden sollen: als Text oder als Fortschrittsanzeige. Das müssen Sie als Designer des Zifferblatts entscheiden.
Zusatzfunktionen definieren
Die Möglichkeit, Zusatzfunktionen auf dem Zifferblatt anzuzeigen, kann für Nutzer wertvoll sein, da sie so auf einen Blick mehr Informationen sehen und diese an ihre Bedürfnisse anpassen können.
Legen Sie fest, ob und wie viele Zusatzfunktionen auf Ihrem Zifferblatt unterstützt werden sollen, welche Formen und Positionen sie haben und welche Datentypen sie unterstützen.
Jeder Bereich auf dem Zifferblatt für eine Zusatzfunktion wird als ComplicationSlot
definiert, innerhalb dessen ein Begrenzungsbereich für das Rendern der Zusatzfunktion festgelegt wird:
<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>
Ein ähnlicher Ansatz kann auf andere Begrenzungsformen wie Rechteck und Ellipse angewendet werden.
Zusatzfunktionstyp und Standardeinstellungen festlegen
Das Zusatzfunktionen-System bietet verschiedene Typen, mit denen das Zifferblatt angeben kann, welche Daten auf dem Display dargestellt werden können. Ein Kreisdiagramm eignet sich beispielsweise nicht gut für einen bildbasierten Zusatzdatentyp wie SMALL_IMAGE
, aber sehr gut für numerische Daten wie RANGED_VALUE
.
Lege in deiner ComplicationSlot
-Deklaration supportedTypes
auf eine durch Leerzeichen getrennte Liste der Typen fest, die in diesem Slot gerendert werden können.
Sie müssen auch die Standardquelle für ComplicationSlot
festlegen, es sei denn, Sie erlauben den Typ EMPTY
. In diesem Fall ist die Festlegung einer Standardquelle optional:
<ComplicationSlot slotId="1" ...>
<BoundingArc .../>
<DefaultProviderPolicy
defaultSystemProvider="STEP_COUNT"
defaultSystemProviderType="SHORT_TEXT" />
</ComplicationSlot>
Sie müssen nicht nur Systemanbieter angeben, sondern können optional auch nicht systemeigene Anbieter angeben, z. B. Drittanbieter, die standardmäßig verwendet werden sollen, sofern sie bereits installiert sind.
Zusatzfunktionsdaten rendern
Nachdem Sie das ComplicationSlot
-Element, die Begrenzungen und das enthaltene Complication
-Element definiert haben, verwenden Sie Standard-WFF-Komponenten wie PartDraw, PartImage
und PartText
, um die Zusatzdaten anzuzeigen.
Elemente in den Complication
-Daten haben Zugriff auf eine spezielle Datenquelle: COMPLICATION
. Diese stellt die verschiedenen Dateneigenschaften bereit, die von der Datenquelle der Zusatzfunktion festgelegt wurden.
So kann beispielsweise eine SMALL_IMAGE
-Komplikation die Werte COMPLICATION.SMALL_IMAGE
und COMPLICATION.SMALL_IMAGE_AMBIENT
festlegen. Diese können anstelle von „resource“ in einem Image
-Element verwendet werden:
<Complication type="SMALL_IMAGE">
<PartImage ...>
<Image resource="[COMPLICATION.SMALL_IMAGE]" />
</PartImage>
</Complication>
Für jeden Zusatzfunktionentyp sind unterschiedliche Eigenschaften verfügbar. Eine vollständige Liste finden Sie in der Referenz Complication
.
In diesem Beispiel wird der Text aus einer SHORT_TEXT
-Komplikation angezeigt:
<Complication type="SHORT_TEXT">
<PartText ...>
<Text>
<Font ...>
<Template>
<![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" />
</Template>
</Font>
</PartImage>
</Complication>
Nützlichkeit beim Rendern von Zusatzfunktionen maximieren
Es gibt einige Herausforderungen, wenn Sie ComplicationSlots
zu Ihrem Zifferblatt hinzufügen:
- Es gibt zahlreiche Datentypen für Zusatzfunktionen. Verschiedene Apps bieten möglicherweise eine oder mehrere dieser Funktionen.
- Neben den obligatorischen Eigenschaften haben alle Zusatzfunktionen auch viele optionale Eigenschaften. Prüfen Sie, ob die verfügbaren Properties für das nützlichste Rendering verwendet werden, wobei die verschiedenen Kombinationen berücksichtigt werden.
Zu den Strategien zur Behebung dieser Probleme gehören:
- Unterstützung mehrerer Zusatzfunktionen für jeden Slot.
SHORT_TEXT
wird beispielsweise von vielen Datenquellen für Zusatzfunktionen unterstützt. Wenn Sie also eine Reihe verschiedener Typen unterstützen, z. B.SHORT_TEXT RANGED_VALUE
für eine kleine kreisförmige Zusatzfunktion, wird die Kompatibilität erhöht. - Verschiedene Zusatzfunktionen auf dem Zifferblatt anbieten Sie können beispielsweise
RANGED_VALUE
undGOAL_PROGRESS
für an den Rändern positionierte Zusatzfunktionen vom Typ „Bogen“ undSHORT_TEXT
undSMALL_IMAGE
für kreisförmige Zusatzfunktionen im Hauptbereich des Zifferblatts unterstützen. - Prüfen Sie, ob für jeden Datentyp optionale Elemente vorhanden sind.
SHORT_TEXT
unterstützt beispielsweise optional eine Titeleigenschaft und ein Bild. Das Layout für die Darstellung der verfügbaren Daten kann sich je nachdem unterscheiden, ob ein Bild oder ein Titel verfügbar ist.