Lavorare con il testo

Per gli orologi digitali, dovresti cercare di utilizzare DigitalClock, se possibile. Per tutti gli altri testi o orologi che non possono essere rappresentati utilizzando DigitalClock, PartText è il contenitore per il rendering basato su testo.

A seconda che tu voglia mostrare testo circolare o normale, PartText deve contenere un elemento Text o TextCircular.

Utilizzare i caratteri e i caratteri bitmap

L'utilizzo di caratteri personalizzati consente al quadrante di distinguersi con il proprio stile.

Esistono due modi per utilizzare i caratteri personalizzati, entrambi all'interno dei contenitori TimeText e PartText.

  1. Specifica un carattere personalizzato family nell'elemento Font. È supportata una gamma di formati comuni, che devono essere inseriti in res/font

    Ad esempio, utilizzando il carattere Pacifico di Google Fonts e posizionando l'asset come 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. In alternativa, definisci un BitmapFont fornendo immagini bitmap in 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>

Tieni presente che le sequenze di caratteri possono ricevere un trattamento speciale. Ad esempio, se "12" deve essere rappresentato con 1 e 2 uniti, è possibile utilizzare un elemento Word.

Per utilizzare il carattere definito:

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

Effetti di testo

Il formato del quadrante offre diversi effetti di testo che possono essere applicati, ad esempio OutGlow e Shadow. Per utilizzarli, applicali come elementi secondari dell'elemento Font:

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

Utilizzare i modelli

Anziché testo statico, potresti dover creare il testo da origini dati o espressioni.

L'elemento Template ti consente di:

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

Utilizzare le risorse

Se il testo statico è invece definito in una risorsa, ad esempio in res/values/strings.xml, può essere referenziato nel seguente modo:

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

In questo modo puoi anche localizzare il quadrante utilizzando diversi qualificatori di risorse.

Spaziatura delle maniglie

Lavorare con la spaziatura del testo in XML può essere difficile. La spaziatura aggiuntiva intorno al testo può causare problemi di formattazione, ad esempio un centraggio errato, o impedire all'app di trovare le risorse stringa di Android.

Per evitare queste situazioni, racchiudi i contenuti di Font in un elemento CDATA:

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

Testo multilinea

Per creare un testo su più righe, utilizza l'attributo maxLines su Text:

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