Ora puoi utilizzare gli overlay delle risorse di runtime (RRO) per modificare i caratteri. Aggiungendo caratteri personalizzati per creare un pacchetto di caratteri, puoi utilizzare i caratteri nei temi e gli RRO per applicare le personalizzazioni.
Completa le seguenti attività:
- Creare un pacchetto di caratteri
- Creare un pacchetto di overlay del dispositivo
- Utilizzare la famiglia di caratteri di sistema aggiunta
In custom-fonts.zip sono forniti una struttura di file di esempio e file di esempio. Scarica ed estrai questo file localmente per uso personale.
Creare un pacchetto di caratteri
Per creare un pacchetto di caratteri:
- Aggiungi tutti i file dei caratteri
ttf
al pacchetto di caratteri nellavendor
partizione. Ad esempio:vendor/[oem]/fonts/[oem]-sans/
- Crea il file
Android.mk
per il pacchetto di caratteri. Ad esempio:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- Assicurati che il modulo venga installato nella partizione
product
nellaetc
cartella. Per farlo, verifica che il modulo abbia i seguenti flag:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
Il codice di esempio fornito sopra illustra una definizione completa di un modulo del pacchetto di caratteri.
- Crea un file denominato
fonts.mk
per il pacchetto di caratteri, quindi aggiungi i filettf
dei caratteri aPRODUCT_PACKAGES
. Ad esempio:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
Ad esempio:
PRODUCT_PACKAGES := \ [font name].ttf \
Creare un pacchetto overlay del dispositivo
- Crea un modulo denominato
fonts_customization.xml
da aggiungere alla compilazione. Questo modulo punta al filefonts_customization.xml
contenente le famiglie di caratteri e chiama i file make di tutti i pacchetti di caratteri. Ad esempio:vendor/[oem]/[device]_overlay/fonts/Android.mk
- Crea le famiglie di caratteri:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
Il livello principale del file deve essere un tag
fonts-modification
. Aggiungi le famiglie di caratteri per ciascuno dei pacchetti di caratteri in questo elemento. Inoltre, aggiungicustomizationType="new-named-family"
a ogni famiglia di caratteri e assicurati che ciascuna abbia un attributoname
. Questo nome viene utilizzato in seguito per accedere alla famiglia di caratteri. Questo file deve essere aggiunto al modulofonts_customizations.xml
definito in precedenza inAndroid.mk
.L'esempio fornito sopra contiene un file
fonts_customization.xml
valido. - Crea
fonts.mk
. Ad esempio:vendor/[oem]/[device]_overlay/fonts/fonts.mk
- Aggiungi
fonts_customization.xml
sotto il flagPRODUCT_PACKAGES
. - Chiama ciascuno dei pacchetti di caratteri creati in precedenza.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- Aggiungi il modulo del carattere alla compilazione in
PRODUCT_PACKAGES
, quindi esegui nuovamente la compilazione. I caratteri verranno installati sul sistema. - Verifica che i file dei caratteri
ttf
siano nella/product/fonts
cartella sul dispositivo. - Verifica che
fonts_customization.xml
sia in/product/etc/
sul dispositivo.
Utilizzare la nuova famiglia di caratteri di sistema
Per utilizzare la nuova famiglia di caratteri di sistema:
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>