Thêm phông chữ tuỳ chỉnh

Giờ đây, bạn có thể sử dụng lớp phủ tài nguyên trong thời gian chạy (RRO) để thay đổi phông chữ. Bằng cách thêm các thành phần tuỳ chỉnh phông chữ để tạo một gói phông chữ, bạn có thể sử dụng phông chữ trong các giao diện và sử dụng RRO để áp dụng các tuỳ chỉnh.

Hoàn thành những việc sau:

Cấu trúc tệp mẫu và các tệp mẫu được cung cấp trong custom-fonts.zip. Tải xuống rồi giải nén tệp này trên thiết bị để bạn sử dụng.

Tạo một gói phông chữ

Cách tạo gói phông chữ:

  1. Thêm tất cả tệp ttf phông chữ vào gói phông chữ trong Phân vùng vendor. Ví dụ:

    vendor/[oem]/fonts/[oem]-sans/

  2. Tạo tệp Android.mk cho gói phông chữ. Ví dụ:

    vendor/[oem]/fonts/[oem]-[fontname]/Android.mk

  3. Đảm bảo mô-đun sẽ được cài đặt trong phân vùng product trong Thư mục etc. Để thực hiện việc này, hãy xác nhận mô-đun có các cờ sau:
    LOCAL_MODULE_CLASS := ETC
    LOCAL_PRODUCT_MODULE := true
    LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
    

    Mã mẫu được cung cấp ở trên minh hoạ định nghĩa đầy đủ về mô-đun gói phông chữ.

  4. Tạo một tệp tên là fonts.mk cho gói phông chữ rồi thêm phông chữ ttf tệp vào PRODUCT_PACKAGES. Ví dụ:

    vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk

    Ví dụ:

    PRODUCT_PACKAGES := \
    [font name].ttf \
    

Tạo gói lớp phủ thiết bị

  1. Tạo một mô-đun có tên là fonts_customization.xml để thêm vào bản dựng. Mô-đun này trỏ đến tệp fonts_customization.xml có chứa phông chữ bộ phông chữ và gọi tệp make của mọi gói phông chữ. Ví dụ:

    vendor/[oem]/[device]_overlay/fonts/Android.mk

  2. Tạo bộ phông chữ:

    vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml

    Cấp gốc của tệp phải là thẻ fonts-modification. Thêm bộ phông chữ cho mỗi gói phông chữ trong phần tử này. Ngoài ra, hãy thêm customizationType="new-named-family" cho mọi bộ phông chữ và tạo hãy đảm bảo mỗi đường dẫn đều có thuộc tính name. Sau này, tên này sẽ được dùng để truy cập vào bộ phông chữ. Bạn phải thêm tệp này vào fonts_customizations.xml mô-đun đã xác định trước đó trong Android.mk.

    Mẫu được cung cấp ở trên chứa tệp fonts_customization.xml hợp lệ.

  3. Tạo fonts.mk. Ví dụ:

    vendor/[oem]/[device]_overlay/fonts/fonts.mk

  4. Thêm fonts_customization.xml dưới cờ PRODUCT_PACKAGES.
  5. Gọi vào từng gói phông chữ đã tạo trước đó.

    $(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)

  6. Thêm mô-đun phông chữ vào bản dựng trong PRODUCT_PACKAGES rồi tạo lại. Phông chữ sẽ được cài đặt trên hệ thống.
  7. Xác minh rằng các tệp phông chữ ttf nằm trong /product/fonts thư mục trên thiết bị.
  8. Xác minh rằng fonts_customization.xml nằm trong /product/etc/ trên thiết bị.

Sử dụng bộ phông chữ mới của hệ thống

Cách sử dụng bộ phông chữ mới trên hệ thống:

<style name="customstyle">
    <item name="android:fontFamily">customfontfamily</item>
</style>