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ı tipifamily
belirtin.res/font
alanı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/drawable
içinde bitmap resimleri sağlayan birBitmapFont
tanı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>