Artık yazı tiplerini değiştirmek için çalışma zamanı kaynak kaplamalarını (RRO'lar) kullanabilirsiniz. Bir yazı tipi paketi oluşturmak için özel yazı tipleri ekleyerek temalardaki yazı tiplerini kullanabilir ve özelleştirmeleri uygulamak için RRO'ları kullanabilirsiniz.
Şu görevleri tamamlayın:
- Yazı tipi paketi oluşturma
- Cihaz yer paylaşımı paketi oluşturma
- Eklenen sistem yazı tipleri ailesini kullanın
Custom-fonts.zip dosyasında örnek bir dosya yapısı ve örnek dosyalar sağlanmaktadır. Kendi kullanımınız için bu dosyayı indirin ve yerel olarak çıkartın.
Yazı tipi paketi oluşturma
Yazı tipi paketi oluşturmak için:
- Tüm font
ttf
dosyalarınıvendor
bölümündeki font paketine ekleyin. Örneğin:vendor/[oem]/fonts/[oem]-sans/
- Yazı tipi paketi için
Android.mk
dosyasını oluşturun. Örneğin:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- Modülün,
etc
klasöründekiproduct
bölümüne kurulacağından emin olun. Bunu yapmak için modülün aşağıdaki bayraklara sahip olduğunu doğrulayın:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
Yukarıda verilen örnek kod, bir yazı tipi paketi modülünün tam tanımını göstermektedir.
- Font paketi için
fonts.mk
adında bir dosya oluşturun ve ardından fontttf
dosyalarınıPRODUCT_PACKAGES
ekleyin. Örneğin:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
Örneğin:
PRODUCT_PACKAGES := \ [font name].ttf \
Cihaz yer paylaşımı paketi oluşturma
- Derlemeye eklenecek
fonts_customization.xml
adlı bir modül oluşturun. Bu modül, font ailelerini içerenfonts_customization.xml
dosyasına işaret eder ve tüm font paketlerinin make dosyalarını çağırır. Örneğin:vendor/[oem]/[device]_overlay/fonts/Android.mk
- Yazı tipi ailelerini oluşturun:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
Dosyanın kök düzeyi bir
fonts-modification
etiketi olmalıdır. Bu öğenin altındaki yazı tipi paketlerinin her biri için yazı tipi aileleri ekleyin. Ayrıca, her yazı tipicustomizationType="new-named-family"
ekleyin ve her birinin birname
niteliğine sahip olduğundan emin olun. Bu ad daha sonra yazı tipi ailesine erişmek için kullanılır. Bu dosyanın daha önceAndroid.mk
tanımlananfonts_customizations.xml
modülüne eklenmesi gerekir.Yukarıda verilen örnek geçerli bir
fonts_customization.xml
dosyası içeriyor. -
fonts.mk
oluşturun. Örneğin:vendor/[oem]/[device]_overlay/fonts/fonts.mk
-
fonts_customization.xml
PRODUCT_PACKAGES
bayrağının altına ekleyin. - Önceden oluşturulmuş yazı tipi paketlerinin her birini arayın.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- Yazı tipi modülünü
PRODUCT_PACKAGES
altındaki yapıya ekleyin ve ardından yeniden oluşturun. Fontlar sisteme yüklenecektir. -
ttf
fonts dosyalarının aygıttaki/product/fonts
klasöründe olduğunu doğrulayın. -
fonts_customization.xml
dosyasının cihazda/product/etc/
konumunda olduğunu doğrulayın.
Yeni sistem yazı tipleri ailesini kullanın
Yeni sistem yazı tipleri ailesini kullanmak için:
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>