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ữ:
- Thêm tất cả tệp
ttf
phông chữ vào gói phông chữ trong Phân vùngvendor
. Ví dụ:vendor/[oem]/fonts/[oem]-sans/
- Tạo tệp
Android.mk
cho gói phông chữ. Ví dụ:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- Đảm bảo mô-đun sẽ được cài đặt trong phân vùng
product
trong Thư mụcetc
. Để 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ữ.
- 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àoPRODUCT_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ị
- 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ệpfonts_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
- 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êmcustomizationType="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ínhname
. 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àofonts_customizations.xml
mô-đun đã xác định trước đó trongAndroid.mk
.Mẫu được cung cấp ở trên chứa tệp
fonts_customization.xml
hợp lệ. - Tạo
fonts.mk
. Ví dụ:vendor/[oem]/[device]_overlay/fonts/fonts.mk
- Thêm
fonts_customization.xml
dưới cờPRODUCT_PACKAGES
. - 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)
- 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. - 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ị. - 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>