Dijital saatler için mümkün olduğunda DigitalClock kullanmayı hedeflemelisiniz. DigitalClock kullanılarak temsil edilemeyen diğer tüm metinler veya saatler için PartText, metne dayalı oluşturma kapsayıcısıdır.
Dairesel mi yoksa normal metin mi göstermek istediğinize bağlı olarak PartText, bir Text veya TextCircular öğesi içermelidir.
Yazı tipleri ve bitmap yazı tipleriyle çalışma
Özel yazı tipleri kullanmak, kadranınızın kendi tarzıyla öne çıkmasını sağlar.
Özel yazı tiplerini hem TimeText hem de PartText kapsayıcılarında kullanmanın iki yolu vardır.
Fontöğesinde özel bir yazı tipifamilybelirtin.res/fontalanına yerleştirilmesi gereken çeşitli yaygın biçimler desteklenir.Örneğin, Google Fonts'taki Pacifico yazı tipini kullanıp öğeyi res/font/pacifico.ttf olarak yerleştirirseniz:
<PartText x="0" y="100" width="450" height="250"> <Text align="CENTER"> <Font family="pacifico" size="96">Hello!</Font> </Text> </PartText>Alternatif olarak,
res/drawableiçinde bitmap resimleri sağlayan birBitmapFonttanımlayın:<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> <!-- ... -->
Karakter dizilerinin nasıl özel olarak işlenebilir olduğunu unutmayın. Örneğin, "12" değeri 1 ve 2'nin birleştirilmesiyle temsil edilecekse bu işlem Word öğesi kullanılarak yapılabilir.
Tanımlanmış yazı tipini kullanmak için:
<TimeText ... format="hh:mm">
<BitmapFont family="myhandwriting" size="48" color="#ff0000" />
</TimeText>
Metin efektleri
Saat kadranı biçimi, OutGlow ve Shadow gibi uygulanabilecek çeşitli metin efektleri sunar. Bunları kullanmak için Font öğesinin alt öğeleri olarak uygulayın:
<Font family="pacifico" size="96" color="#e2a0ff">
<OutGlow color="#e8ffb7" radius="30">Hello!</OutGlow>
</Font>
Şablonlarla çalışma
Statik metin yerine metninizi veri kaynaklarından veya ifadelerden oluşturmanız gerekebilir.
Template öğesi şunları yapmanıza olanak tanır:
<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>
Kaynaklarla çalışma
Statik metniniz bunun yerine res/values/strings.xml gibi bir kaynakta tanımlanmışsa aşağıdaki gibi referans verilebilir:
<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>
Bu, farklı kaynak niteliklerini kullanarak kadranınızı yerelleştirmenize de olanak tanır.
Tutma yeri aralığı
Boşluk ve metinle çalışırken bazı zorluklarla karşılaşabilirsiniz:
<!-- 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>
Bunun nedeni, XML'de boşluklar önemli olmasıdır. Bu durumu önlemek için Font içeriklerinizi bir CDATA öğesine sarmalayın:
<!-- Works correctly -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
<![CDATA[greeting]]>
</Font>
Metni ortada hizalamaya çalışırken de bu sorunla karşılaşabilirsiniz:
<!-- 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>
Çok satırlı metin
Çok satırlı metin oluşturmak için Text öğesinde maxLines özelliğini kullanın:
<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>