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

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

Hoàn thành các nhiệm vụ sau:

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

Tạo 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 rằng mô-đun sẽ được cài đặt trong phân vùng product trong thư mục etc. Để làm như vậy, hãy xác nhận rằng 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 có tên fonts.mk cho gói phông chữ, sau đó thêm các tệp phông chữ ttf 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 chứa các gia đình phông chữ và gọi các tệp tạo của tất cả các 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 từng gói phông chữ trong phần tử này. Ngoài ra, hãy thêm customizationType="new-named-family" vào mọi bộ phông chữ và đảm bảo rằng mỗi bộ phông chữ đều có thuộc tính name. Tên này sẽ được dùng sau để truy cập vào bộ phông chữ. Bạn phải thêm tệp này vào mô-đun fonts_customizations.xml đã xác định trước đó trong Android.mk.

    Mẫu được cung cấp ở trên chứa một 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 vào 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 thư mục /product/fonts 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ữ hệ thống mới

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

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