Trabalhar com texto

Para relógios digitais, tente usar DigitalClock sempre que possível. Para todos os outros textos ou relógios que não podem ser representados usando DigitalClock, PartText é o contêiner para renderização baseada em texto.

Dependendo se você quer mostrar texto circular ou regular, o PartText precisa conter um elemento Text ou TextCircular.

Trabalhar com fontes e fontes de bitmap

Usar fontes personalizadas permite que o mostrador do relógio se destaque com um estilo próprio.

Há duas maneiras de usar fontes personalizadas, tanto em contêineres TimeText quanto PartText.

  1. Especifique uma fonte personalizada family no elemento Font. Vários formatos comuns são aceitos e precisam ser colocados em res/font.

    Por exemplo, usando a fonte Pacifico do Google Fonts e colocando o recurso como 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. Como alternativa, defina um BitmapFont que forneça imagens bitmap em 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>

Observe como sequências de caracteres podem receber um tratamento especial. Por exemplo, se "12" fosse representado com um 1 e um 2 unidos, isso poderia ser feito usando um elemento Word.

Para usar a fonte definida:

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

Efeitos de texto

O Formato do mostrador do relógio oferece vários efeitos de texto que podem ser aplicados, como OutGlow e Shadow. Para usar esses elementos, aplique-os como subelementos do elemento Font:

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

Trabalhar com modelos

Em vez de texto estático, talvez seja necessário criar o texto com base em fontes de dados ou expressões.

O elemento Template permite fazer o seguinte:

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

Trabalhar com recursos

Se o texto estático for definido em um recurso, como em res/values/strings.xml, ele poderá ser referenciado da seguinte maneira:

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

Isso também permite localizar o mostrador do relógio usando diferentes qualificadores de recursos.

Espaçamento da alça

Trabalhar com espaçamento de texto em XML pode ser difícil. O espaçamento extra ao redor do texto pode causar problemas de formatação, como centralização incorreta, ou impedir que o app encontre recursos de string do Android.

Para evitar essas situações, incorpore o conteúdo de Font em um elemento CDATA:

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

Texto multilinha

Para criar texto de várias linhas, use o atributo maxLines em Text:

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