Bei digitalen Uhren sollten Sie nach Möglichkeit DigitalClock verwenden. Für alle anderen Texte oder Uhren, die nicht mit DigitalClock dargestellt werden können, ist PartText der Container für die textbasierte Darstellung.
Je nachdem, ob Sie kreisförmigen oder regulären Text anzeigen möchten, sollte das PartText-Element entweder ein Text- oder ein TextCircular-Element enthalten.
Mit Schriftarten und Bitmap-Schriftarten arbeiten
Mit benutzerdefinierten Schriftarten können Sie Ihrem Zifferblatt einen ganz eigenen Stil verleihen.
Es gibt zwei Möglichkeiten, benutzerdefinierte Schriftarten zu verwenden, sowohl in TimeText- als auch in PartText-Containern.
Geben Sie im
Font-Element eine benutzerdefinierte Schriftartfamilyan. Eine Reihe gängiger Formate werden unterstützt und müssen inres/fontplatziert werden.Beispiel: Sie verwenden die Schriftart „Pacifico“ von Google Fonts und platzieren das Asset als „res/font/pacifico.ttf“:
<PartText x="0" y="50" width="450" height="250"> <Text align="CENTER"> <Font family="pacifico" size="96">Hello!</Font> </Text> </PartText>
Alternativ können Sie einen
BitmapFontdefinieren, der Bitmap-Bilder inres/drawablebereitstellt:<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>
Beachten Sie, wie Zeichenfolgen speziell behandelt werden können. Wenn beispielsweise „12“ mit einer verbundenen 1 und 2 dargestellt werden soll, kann dies mit einem Word-Element erreicht werden.
So verwenden Sie die definierte Schriftart:
<DigitalClock x="125" y="120" width="200" height="50"> <TimeText x="0" y="0" width="200" height="50" format="hh:mm"> <BitmapFont family="myhandwriting" size="48" color="#FF00FF"/> </TimeText> </DigitalClock>
Texteffekte
Das Zifferblattformat bietet verschiedene Texteffekte, die angewendet werden können, z. B. OutGlow und Shadow. Wenden Sie sie als Unterelemente des Font-Elements an:
<Font family="pacifico" size="96" color="#e2a0ff"> <OutGlow color="#e8ffb7" radius="30">Hello!</OutGlow> </Font>
Mit Vorlagen arbeiten
Statt statischen Text zu verwenden, müssen Sie den Text möglicherweise aus Datenquellen oder Ausdrücken erstellen.
Mit dem Template-Element können Sie Folgendes tun:
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff"> <Template>Day: %s<Parameter expression="[DAY_OF_WEEK_S]" /></Template> </Font>
Mit Ressourcen arbeiten
Wenn Ihr statischer Text stattdessen in einer Ressource wie res/values/strings.xml definiert ist, kann er so referenziert werden:
<!-- greeting defined in res/values/strings.xml --> <Font family="pacifico" size="60" weight="BOLD" color="#ffffff">greeting</Font>
So können Sie Ihr Zifferblatt auch mit verschiedenen Ressourcenqualifizierern lokalisieren.
Griffabstand
Die Arbeit mit Textabständen in XML kann eine Herausforderung sein. Zusätzliche Leerzeichen um Text können zu Formatierungsproblemen führen, z. B. zu einer falschen Zentrierung, oder verhindern, dass Ihre App Android-String-Ressourcen findet.
Um diese Situationen zu vermeiden, schließen Sie den Inhalt von Font in ein CDATA-Element ein:
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff"> <![CDATA[Hello]]> </Font>
Mehrzeiliger Text
Um mehrzeiligen Text zu erstellen, verwenden Sie das Attribut maxLines für Text:
<Text align="CENTER" maxLines="2"> <Font family="pacifico" size="60" weight="BOLD" color="#ffffff"> <![CDATA[Hello Wear OS world]]> </Font> </Text>