يمكنك الآن استخدام تراكبات موارد وقت التشغيل (RROs) لتغيير الخطوط. من خلال إضافة خطوط مخصصة لإنشاء حزمة خطوط، يمكنك استخدام الخطوط في السمات واستخدام RROs لتطبيق التخصيصات.
أكمل هذه المهام:
يتم توفير بنية ملف نموذجية وملفات نموذجية في 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>