Trabajar con texto

En el caso de los relojes digitales, debes intentar usar DigitalClock siempre que sea posible. Para todos los demás textos o relojes que no se pueden representar con DigitalClock, PartText es el contenedor para la renderización basada en texto.

Según si deseas mostrar texto circular o normal, el elemento PartText debe contener un elemento Text o TextCircular.

Cómo trabajar con fuentes y fuentes de mapa de bits

Usar fuentes personalizadas permite que la cara de reloj se destaque con su propio estilo.

Existen dos formas de usar fuentes personalizadas, ambas dentro de los contenedores TimeText y PartText.

  1. Especifica una fuente personalizada family en el elemento Font. Se admite una variedad de formatos comunes, que deben colocarse en res/font.

    Por ejemplo, si usas la fuente Pacifico de Google Fonts y colocas el recurso como res/font/pacifico.ttf, haz lo siguiente:

    <PartText x="0" y="50" width="450" height="250">
        <Text align="CENTER">
            <Font family="pacifico" size="96">Hello!</Font>
        </Text>
    </PartText>

  2. Como alternativa, define un BitmapFont que proporcione imágenes de mapa de bits en 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>

Observa cómo se pueden tratar de forma especial las secuencias de caracteres. Por ejemplo, si se quisiera representar el número "12" con un 1 y un 2 unidos, esto se podría lograr con un elemento Word.

Para usar la fuente definida, haz lo siguiente:

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

Efectos de texto

El Formato de Caras de Relojes proporciona varios efectos de texto que se pueden aplicar, como OutGlow y Shadow. Para usarlos, aplícalos como subelementos del elemento Font:

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

Cómo trabajar con plantillas

En lugar de texto estático, es posible que debas construir tu texto a partir de fuentes de datos o expresiones.

El elemento Template te permite hacer lo siguiente:

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

Cómo trabajar con recursos

Si el texto estático se define en un recurso, como en res/values/strings.xml, se puede hacer referencia a él de la siguiente manera:

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

Esto también te permite localizar tu cara de reloj con diferentes calificadores de recursos.

Espacio entre manijas

Trabajar con el espaciado de texto en XML puede ser un desafío. El espacio adicional alrededor del texto puede causar problemas de formato, como un centrado incorrecto, o impedir que tu app encuentre recursos de cadenas de Android.

Para evitar estas situaciones, une el contenido de Font en un elemento CDATA:

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

Texto de varias líneas

Para crear texto de varias líneas, usa el atributo maxLines en Text:

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