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
ttfal pacchetto di caratteri nellavendorpartizione. Ad esempio:vendor/[oem]/fonts/[oem]-sans/ - Crea il file
Android.mkper il pacchetto di caratteri. Ad esempio:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk - Assicurati che il modulo venga installato nella partizione
productnellaetccartella. 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.mkper il pacchetto di caratteri, quindi aggiungi i filettfdei caratteri aPRODUCT_PACKAGES. Ad esempio:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mkAd esempio:
PRODUCT_PACKAGES := \ [font name].ttf \
Creare un pacchetto overlay del dispositivo
- Crea un modulo denominato
fonts_customization.xmlda aggiungere alla compilazione. Questo modulo punta al filefonts_customization.xmlcontenente 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.xmlIl 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.xmldefinito in precedenza inAndroid.mk.L'esempio fornito sopra contiene un file
fonts_customization.xmlvalido. - Crea
fonts.mk. Ad esempio:vendor/[oem]/[device]_overlay/fonts/fonts.mk - Aggiungi
fonts_customization.xmlsotto 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
ttfsiano nella/product/fontscartella sul dispositivo. - Verifica che
fonts_customization.xmlsia 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>