Anda kini dapat menggunakan overlay resource runtime (RRO) untuk mengubah font. Dengan menambahkan font kustom untuk membuat paket font, Anda dapat menggunakan font dalam tema dan menggunakan RRO untuk menerapkan penyesuaian.
Selesaikan tugas berikut:
Contoh struktur file dan file contoh disediakan di custom-fonts.zip. Download, lalu ekstrak file ini secara lokal untuk Anda gunakan sendiri.
Membuat paket font
Untuk membuat paket font:
- Tambahkan semua file
ttf
font ke paket font di partisivendor
. Contoh:vendor/[oem]/fonts/[oem]-sans/
- Buat file
Android.mk
untuk paket font. Contoh:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- Pastikan modul akan diinstal di partisi
product
di folderetc
. Untuk melakukannya, pastikan modul memiliki flag berikut:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
Kode contoh yang diberikan di atas mengilustrasikan definisi lengkap modul paket font.
- Buat file bernama
fonts.mk
untuk paket font, lalu tambahkan file fontttf
kePRODUCT_PACKAGES
. Contoh:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
Contoh:
PRODUCT_PACKAGES := \ [font name].ttf \
Membuat paket overlay perangkat
- Buat modul bernama
fonts_customization.xml
untuk ditambahkan ke build. Modul ini mengarah ke filefonts_customization.xml
yang berisi keluarga font dan memanggil file make dari semua paket font. Contoh:vendor/[oem]/[device]_overlay/fonts/Android.mk
- Buat jenis font:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
Tingkat root file harus berupa tag
fonts-modification
. Tambahkan jenis font untuk setiap paket font di bawah elemen ini. Selain itu, tambahkancustomizationType="new-named-family"
ke setiap jenis font, dan pastikan setiap jenis font memiliki atributname
. Nama ini akan digunakan nanti untuk mengakses jenis font. File ini harus ditambahkan ke modulfonts_customizations.xml
yang ditentukan sebelumnya diAndroid.mk
.Contoh yang diberikan di atas berisi file
fonts_customization.xml
yang valid. - Buat
fonts.mk
. Contoh:vendor/[oem]/[device]_overlay/fonts/fonts.mk
- Tambahkan
fonts_customization.xml
di bagian flagPRODUCT_PACKAGES
. - Panggil setiap paket font yang dibuat sebelumnya.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- Tambahkan modul font ke build di bagian
PRODUCT_PACKAGES
, lalu build ulang. Font akan diinstal di sistem. - Verifikasi bahwa file font
ttf
berada di folder/product/fonts
di perangkat. - Pastikan
fonts_customization.xml
berada di/product/etc/
di perangkat.
Menggunakan jenis font sistem baru
Untuk menggunakan jenis font sistem baru:
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>