Les complications sont une fonctionnalité des cadrans de montres physiques et de montres connectées qui affichent des informations supplémentaires. En règle générale, l'utilisateur sélectionne les informations à afficher dans une complication.
Les complications se présentent généralement sous plusieurs formes:
- Rectangulaire
- Circulaire
- Arcs, le long du bord du cadran
- Arrière-plan, couvrant l'intégralité du cadran
Dans Wear OS, le système de complications peut être divisé en deux parties:
- Source de données de la complication
- Affichage de la complication
Par exemple, une application de santé et de remise en forme peut implémenter une source de données de complication "Nombre de pas quotidiens". Cela peut être affiché par le cadran WFF.
Sources de données dans les complications
Les sources de données de complications ne spécifient que les données à afficher et le type de complication. La source de données ne joue aucun rôle dans la détermination de la manière dont les données doivent être représentées sur le cadran.
Par exemple, la source de données de la complication "Pas quotidiens" de santé et remise en forme peut produire les données suivantes pour indiquer que l'utilisateur a fait 2 400 pas sur son objectif de 10 000 pas aujourd'hui:
- Type:
GOAL_PROGRESS
- Valeur :
2400
- TargetValue:
10000
Notez que rien dans ces données n'indique comment elles doivent être affichées.
Le cadran spécifie les types de complications qu'il peut afficher. Cela détermine les sources de données disponibles pour l'utilisateur.
Dans l'exemple des pas quotidiens, vous décidez dans la définition du cadran comment afficher les Value
et TargetValue
: sous forme de texte ou d'indicateur de progression ? C'est à vous, en tant que concepteur de cadran, de décider.
Définir des complications
Proposer la possibilité d'afficher des complications sur votre cadran peut être utile pour les utilisateurs, car cela leur permet d'accéder à un plus grand nombre d'informations en un coup d'œil et de les personnaliser en fonction de leurs besoins.
Déterminez si vous souhaitez utiliser des complications sur votre cadran, leur nombre, leurs formes et leur positionnement, ainsi que les types de données qu'elles acceptent.
Chaque espace du cadran pour une complication est défini comme un ComplicationSlot
dans lequel une zone de délimitation est définie pour le rendu de la complication:
<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>
Une approche similaire peut être appliquée aux autres formes de délimitation, telles que le rectangle et l'ellipse.
Définir le type de complication et les valeurs par défaut
Le système de complication fournit un certain nombre de types différents, ce qui permet au cadran d'indiquer le type de données qu'il peut représenter à l'écran. Par exemple, une complication Arc, comme indiqué précédemment, n'est pas particulièrement adaptée à un type de données de complication basé sur des images tel que SMALL_IMAGE
, mais peut très bien fonctionner pour des données numériques telles que RANGED_VALUE
.
Dans votre déclaration ComplicationSlot
, définissez supportedTypes
sur la liste des types pouvant être affichés dans cet emplacement, séparés par des espaces.
Vous devez également définir la source par défaut pour ComplicationSlot
, sauf si vous autorisez le type EMPTY
, auquel cas la définition d'une valeur par défaut est facultative:
<ComplicationSlot slotId="1" ...>
<BoundingArc .../>
<DefaultProviderPolicy
defaultSystemProvider="STEP_COUNT"
defaultSystemProviderType="SHORT_TEXT" />
</ComplicationSlot>
En plus de spécifier des fournisseurs système, vous pouvez également spécifier des fournisseurs non système, tels que des fournisseurs tiers à utiliser par défaut, s'ils sont déjà installés.
Afficher les données de complication
Après avoir défini ComplicationSlot
, les limites et l'élément Complication
contenant, utilisez des composants WFF standards, tels que PartDraw, PartImage
et PartText
, pour afficher les données de complication.
Les éléments des données Complication
ont accès à une source de données spéciale : COMPLICATION
, qui fournit les différentes propriétés de données définies par la source de données de la complication.
Par exemple, une complication SMALL_IMAGE
peut définir les valeurs COMPLICATION.SMALL_IMAGE
et COMPLICATION.SMALL_IMAGE_AMBIENT
. Vous pouvez les utiliser à la place d'une ressource dans un élément Image
:
<Complication type="SMALL_IMAGE">
<PartImage ...>
<Image resource="[COMPLICATION.SMALL_IMAGE]" />
</PartImage>
</Complication>
Chaque type de complication dispose d'un ensemble différent de propriétés disponibles. Pour obtenir la liste complète de chacune d'elles, consultez la documentation de référence sur Complication
.
Cet exemple affiche le texte d'une complication SHORT_TEXT
:
<Complication type="SHORT_TEXT">
<PartText ...>
<Text>
<Font ...>
<Template>
<![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" />
</Template>
</Font>
</PartImage>
</Complication>
Maximiser l'utilité lors de l'affichage des complications
L'ajout de ComplicationSlots
à votre cadran présente plusieurs difficultés:
- Il existe de nombreux types de données de complication. Différentes applications peuvent fournir une ou plusieurs de ces fonctionnalités.
- Chaque type de données de complication comporte des propriétés obligatoires, mais aussi de nombreuses propriétés facultatives. Vérifiez que le rendu le plus utile est effectué à partir des propriétés disponibles, en tenant compte des différentes combinaisons.
Voici quelques stratégies pour résoudre ces problèmes:
- Acceptez plusieurs types de complications pour chaque emplacement. Par exemple,
SHORT_TEXT
est largement accepté par les sources de données de complication. La prise en charge d'un certain nombre de types différents, tels queSHORT_TEXT RANGED_VALUE
pour une petite complication circulaire, augmente la compatibilité. - Proposez différents types de complications sur le cadran. Par exemple, vous pouvez prendre en charge
RANGED_VALUE
etGOAL_PROGRESS
pour les complications Arc en périphérie, etSHORT_TEXT
etSMALL_IMAGE
pour les complications circulaires dans le corps du cadran. - Recherchez les éléments facultatifs pour chaque type de données. Par exemple,
SHORT_TEXT
accepte une propriété de titre et une image de manière facultative. La mise en page pour afficher les données disponibles peut varier selon qu'une image ou un titre est disponible ou non.