Làm việc với văn bản

Đối với đồng hồ kỹ thuật số, bạn nên sử dụng DigitalClock nếu có thể. Đối với tất cả văn bản hoặc đồng hồ khác không thể biểu thị bằng DigitalClock, PartText là vùng chứa để hiển thị dựa trên văn bản.

Tuỳ thuộc vào việc bạn muốn hiển thị văn bản dạng tròn hay văn bản thông thường, PartText phải chứa một trong hai phần tử Text hoặc TextCircular.

Làm việc với phông chữ và phông chữ bitmap

Việc sử dụng phông chữ tuỳ chỉnh sẽ giúp mặt đồng hồ của bạn nổi bật với phong cách riêng.

Có hai cách để sử dụng phông chữ tuỳ chỉnh, cả trong vùng chứa TimeTextPartText.

  1. Chỉ định một family phông chữ tuỳ chỉnh trong phần tử Font. Một loạt các định dạng phổ biến được hỗ trợ, phải được đặt trong res/font

    Ví dụ: sử dụng phông chữ Pacifico từ Google Fonts và đặt thành phần này làm 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. Ngoài ra, hãy xác định một BitmapFont cung cấp hình ảnh bitmap trong 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>

Lưu ý cách xử lý đặc biệt các chuỗi ký tự. Ví dụ: nếu "12" được biểu thị bằng 1 và 2 được kết hợp, thì bạn có thể đạt được điều này bằng cách sử dụng phần tử Word.

Cách sử dụng phông chữ đã xác định:

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

Hiệu ứng cho văn bản

Định dạng mặt đồng hồ cung cấp một số hiệu ứng văn bản mà bạn có thể áp dụng, chẳng hạn như OutGlowShadow. Để sử dụng các phần tử này, hãy áp dụng chúng làm phần tử con của phần tử Font:

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

Làm việc với mẫu

Thay vì văn bản tĩnh, bạn có thể cần tạo văn bản từ các nguồn dữ liệu hoặc biểu thức.

Phần tử Template cho phép bạn làm việc này:

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

Làm việc với các tài nguyên

Nếu văn bản tĩnh của bạn được xác định trong một tài nguyên, chẳng hạn như trong res/values/strings.xml, thì bạn có thể tham chiếu văn bản đó như sau:

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

Điều này cũng cho phép bạn bản địa hoá mặt đồng hồ bằng cách sử dụng các trình đủ tiêu chuẩn tài nguyên khác nhau.

Khoảng cách giữa các điểm điều khiển

Việc xử lý khoảng cách văn bản trong XML có thể gặp nhiều khó khăn. Khoảng cách thừa xung quanh văn bản có thể gây ra các vấn đề về định dạng, chẳng hạn như căn giữa không chính xác hoặc ngăn ứng dụng của bạn tìm thấy các tài nguyên chuỗi Android.

Để tránh những trường hợp này, hãy gói nội dung Font trong một phần tử CDATA:

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

Văn bản nhiều dòng

Để tạo văn bản nhiều dòng, hãy sử dụng thuộc tính maxLines trên Text:

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