Praca z tekstem

W przypadku zegarów cyfrowych w miarę możliwości używaj symbolu DigitalClock. W przypadku wszystkich innych tekstów lub zegarów, których nie można przedstawić za pomocą elementu DigitalClock, element PartText jest kontenerem do renderowania tekstu.

W zależności od tego, czy chcesz wyświetlać tekst w okręgu, czy zwykły, element PartText powinien zawierać element Text lub TextCircular.

Praca z czcionkami i czcionkami bitmapowymi

Dzięki niestandardowym czcionkom tarcza zegarka wyróżnia się własnym stylem.

Z czcionek niestandardowych można korzystać na 2 sposoby, zarówno w TimeText, jak i w PartText.

  1. Określ niestandardową czcionkę family w elemencie Font. Obsługiwany jest szereg popularnych formatów, które muszą być umieszczone w res/font

    Na przykład używając czcionki Pacifico z Google Fonts i umieszczając zasób jako 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>

  2. Możesz też zdefiniować BitmapFont dostarczanie obrazów bitmapowych w res/drawable:

    <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>

Zwróć uwagę, jak ciągi znaków mogą być traktowane w specjalny sposób. Jeśli na przykład „12” ma być przedstawione jako połączone cyfry 1 i 2, można to osiągnąć za pomocą elementu Word.

Aby użyć zdefiniowanej czcionki:

<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>

Efekty tekstowe

Format tarczy zegarka udostępnia kilka efektów tekstowych, które można zastosować, np. OutGlowShadow. Aby ich użyć, zastosuj je jako podelementy elementu Font:

<Font family="pacifico" size="96" color="#e2a0ff">
    <OutGlow color="#e8ffb7" radius="30">Hello!</OutGlow>
</Font>

Korzystanie z szablonów

Zamiast tekstu statycznego może być konieczne utworzenie tekstu ze źródeł danych lub wyrażeń.

Element Template umożliwia:

<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
    <Template>Day: %s<Parameter expression="[DAY_OF_WEEK_S]" /></Template>
</Font>

Praca z zasobami

Jeśli tekst statyczny jest zdefiniowany w zasobie, np. w pliku res/values/strings.xml, można się do niego odwołać w ten sposób:

<!-- greeting defined in res/values/strings.xml -->
<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">greeting</Font>

Umożliwia to też lokalizowanie tarczy zegarka za pomocą różnych kwalifikatorów zasobów.

Odstępy między uchwytami

Praca z odstępami w tekście w pliku XML może być trudna. Dodatkowe spacje wokół tekstu mogą powodować problemy z formatowaniem, np. nieprawidłowe wyśrodkowanie, lub uniemożliwiać aplikacji znajdowanie zasobów ciągów znaków Androida.

Aby uniknąć takich sytuacji, umieść zawartość Font w elemencie CDATA:

<Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
    <![CDATA[Hello]]>
</Font>

Tekst wielowierszowy

Aby utworzyć tekst wielowierszowy, użyj atrybutu maxLines w tagu Text:

<Text align="CENTER" maxLines="2">
    <Font family="pacifico" size="60" weight="BOLD" color="#ffffff">
        <![CDATA[Hello Wear OS world]]>
    </Font>
</Text>