ตอนนี้คุณใช้การวางซ้อนทรัพยากรรันไทม์ (RRO) เพื่อเปลี่ยนแบบอักษรได้แล้ว ด้วยการเพิ่ม เพื่อสร้างแพ็กเกจแบบอักษร คุณสามารถใช้แบบอักษรในธีมและใช้ RRO เพื่อนำพารามิเตอร์ การกำหนดค่าเอง
ทำงานต่อไปนี้ให้เสร็จ
คุณสามารถดูโครงสร้างไฟล์ตัวอย่างและไฟล์ตัวอย่างได้ใน custom-fonts.zip ดาวน์โหลดและแตกไฟล์นี้ภายในเครื่องเพื่อการใช้งานของคุณเอง
สร้างแพ็กเกจแบบอักษร
วิธีสร้างแพ็กเกจแบบอักษร
- เพิ่มไฟล์
ttf
สำหรับแบบอักษรทั้งหมดลงในแพ็กเกจแบบอักษรใน พาร์ติชันvendor
เช่นvendor/[oem]/fonts/[oem]-sans/
- สร้างไฟล์
Android.mk
สำหรับแพ็กเกจแบบอักษร เช่นvendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- ตรวจสอบว่าได้ติดตั้งโมดูลในพาร์ติชัน
product
ในetc
โฟลเดอร์ ในการดำเนินการดังกล่าว ให้ตรวจสอบว่าโมดูลมีแฟล็กต่อไปนี้LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
โค้ดตัวอย่างที่ให้ไว้ด้านบนจะแสดงคำจำกัดความที่สมบูรณ์ของโมดูลแพ็กเกจแบบอักษร
- สร้างไฟล์ชื่อ
fonts.mk
สำหรับแพ็กเกจแบบอักษร แล้วเพิ่มแบบอักษรttf
ไฟล์ไปที่PRODUCT_PACKAGES
เช่นvendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
เช่น
PRODUCT_PACKAGES := \ [font name].ttf \
สร้างแพ็กเกจการวางซ้อนอุปกรณ์
- สร้างโมดูลชื่อ
fonts_customization.xml
เพื่อเพิ่มลงในบิลด์ โมดูลนี้ชี้ไปยังไฟล์fonts_customization.xml
ที่มีแบบอักษร และเรียกไฟล์สร้างของแพ็กเกจแบบอักษรทั้งหมด เช่นvendor/[oem]/[device]_overlay/fonts/Android.mk
- สร้างชุดแบบอักษร
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
ระดับรากของไฟล์ต้องเป็นแท็ก
fonts-modification
เพิ่ม ชุดแบบอักษรสำหรับแต่ละแพ็กเกจแบบอักษรในอีลิเมนต์นี้ นอกจากนี้ ให้เพิ่มcustomizationType="new-named-family"
สำหรับชุดแบบอักษรทุกชุด ให้แน่ใจว่าแต่ละรายการมีแอตทริบิวต์name
ชื่อนี้จะใช้ในภายหลังเพื่อเข้าถึง ชุดแบบอักษร ต้องเพิ่มไฟล์ลงในfonts_customizations.xml
เคยกำหนดไว้ในAndroid.mk
ตัวอย่างที่ระบุข้างต้นมีไฟล์
fonts_customization.xml
ที่ถูกต้อง - สร้าง
fonts.mk
เช่นvendor/[oem]/[device]_overlay/fonts/fonts.mk
- เพิ่ม
fonts_customization.xml
ใต้ธงPRODUCT_PACKAGES
- เรียกใช้แพ็กเกจแบบอักษรแต่ละรายการที่สร้างไว้ก่อนหน้านี้
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- เพิ่มโมดูลแบบอักษรไปยังบิลด์ในส่วน
PRODUCT_PACKAGES
แล้วสร้างใหม่ แบบอักษรจะได้รับการติดตั้งในระบบ - ตรวจสอบว่าไฟล์แบบอักษร
ttf
อยู่ใน/product/fonts
โฟลเดอร์ในอุปกรณ์ - ตรวจสอบว่า
fonts_customization.xml
อยู่ใน/product/etc/
ใน อุปกรณ์
ใช้ชุดแบบอักษรของระบบใหม่
หากต้องการใช้ชุดแบบอักษรของระบบใหม่ ให้ทำดังนี้
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>