Pour les horloges numériques, vous devez essayer d'utiliser DigitalClock
dans la mesure du possible. Pour tous les autres textes ou horloges qui ne peuvent pas être représentés à l'aide de DigitalClock
, PartText
est le conteneur du rendu basé sur le texte.
Selon que vous souhaitez afficher du texte circulaire ou régulier, PartText
doit contenir soit un élément Text
, soit un élément TextCircular
.
Utiliser des polices et des polices bitmap
L'utilisation de polices personnalisées permet à votre cadran de se démarquer par son propre style.
Il existe deux façons d'utiliser des polices personnalisées, à la fois dans les conteneurs TimeText
et PartText
.
Spécifiez une police personnalisée
family
dans l'élémentFont
. Une gamme de formats courants est prise en charge, qui doit être placée dansres/font
.Par exemple, en utilisant la police Pacifico de Google Fonts et en plaçant l'élément en tant que res/font/pacifico.ttf:
<PartText x="0" y="100" width="450" height="250"> <Text align="CENTER"> <Font family="pacifico" size="96">Hello!</Font> </Text> </PartText>
Vous pouvez également définir un
BitmapFont
fournissant des images bitmap dansres/drawable
:<WatchFace width="450" height="450" clipShape="CIRCLE"> <BitmapFonts> <BitmapFont name="myhandwriting"> <Character name="1" resource="digit1" width="50" height="100" /> <Character name="2" resource="digit2" width="50" height="100" /> <Character name="3" resource="digit3" width="50" height="100" /> <Character name="4" resource="digit4" width="50" height="100" /> <!-- ... --> <!-- Treat "12" specially, instead of a 1 followed by a 2--> <Word name="12" resource="digit12" width="80" height="100" /> </BitmapFont> </BitmapFonts> <!-- ... -->
Notez que les séquences de caractères peuvent être traitées de manière spéciale. Par exemple, si "12" devait être représenté avec un 1 et un 2 joints, cela pourrait être réalisé à l'aide d'un élément Word
.
Pour utiliser la police définie:
<TimeText ... format="hh:mm">
<BitmapFont family="myhandwriting" size="48" color="#ff0000" />
</TimeText>
Effets de texte
Le format de cadran propose plusieurs effets de texte pouvant être appliqués, tels que OutGlow
et Shadow
. Pour les utiliser, appliquez-les en tant que sous-éléments de l'élément Font
:
<Font family="pacifico" size="96" color="#e2a0ff">
<OutGlow color="#e8ffb7" radius="30">Hello!</OutGlow>
</Font>
Utiliser des modèles
Au lieu d'un texte statique, vous devrez peut-être construire votre texte à partir de sources de données ou d'expressions.
L'élément Template
vous permet d'effectuer les opérations suivantes:
<PartText x="100" y="150" width="300" height="120" >
<Text align="CENTER">
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
<Template>Day: %s<Parameter expression="[DAY_OF_WEEK_S]" /></Template>
</Font>
</Text>
</PartText>
Utiliser des ressources
Si votre texte statique est défini dans une ressource, comme dans res/values/strings.xml
, il peut être référencé comme suit:
<PartText x="100" y="150" width="300" height="120" >
<Text align="CENTER">
<!-- greeting defined in res/values/strings.xml -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">greeting</Font>
</Text>
</PartText>
Vous pouvez ainsi localiser votre cadran à l'aide de différents qualificateurs de ressources.
Espacement des poignées
Le travail avec l'espacement et le texte peut présenter certains défis:
<!-- greeting defined in res/values/strings.xml -->
<!-- Works correctly: -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">greeting</Font>
<!-- Does not render in the right place because of whitespace -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
greeting
</Font>
En effet, l'espacement est important dans le code XML. Pour éviter cette situation, encapsulez le contenu de Font
dans un élément CDATA
:
<!-- Works correctly -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
<![CDATA[greeting]]>
</Font>
Un autre exemple peut être observé lorsque vous essayez de justifier le texte au centre:
<!-- Does not render as expected - leading spaces are a problem -->
<PartText x="100" y="150" width="250" height="120" >
<Text align="CENTER">
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
Hello
</Font>
</Text>
</PartText>
<!-- Works correctly -->
<PartText x="100" y="150" width="250" height="120" >
<Text align="CENTER">
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
<![CDATA[Hello]]>
</Font>
</Text>
</PartText>
Texte multiligne
Pour créer du texte multiligne, utilisez l'attribut maxLines
sur Text
:
<PartText x="75" y="100" width="300" height="350" >
<Text align="CENTER" maxLines="2">
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
<![CDATA[Hello Wear OS world]]>
</Font>
</Text>
</PartText>