Do zmiany czcionek można teraz używać nakładek zasobów środowiska wykonawczego (RRO). Dodając niestandardowe czcionki w celu utworzenia pakietu czcionek, możesz używać czcionek w motywach i używać RRO do stosowania dostosowań.
Wykonaj te zadania:
- Utwórz pakiet czcionek
- Utwórz pakiet nakładki na urządzenie
- Użyj dodanej rodziny czcionek systemowych
Przykładowa struktura plików i przykładowe pliki znajdują się w pliku custom-fonts.zip . Pobierz i rozpakuj ten plik lokalnie na własny użytek.
Utwórz pakiet czcionek
Aby utworzyć pakiet czcionek:
- Dodaj wszystkie pliki czcionek
ttf
do pakietu czcionek na partycjivendor
. Na przykład:vendor/[oem]/fonts/[oem]-sans/
- Utwórz plik
Android.mk
dla pakietu czcionek. Na przykład:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- Upewnij się, że moduł zostanie zainstalowany na partycji
product
w folderzeetc
Aby to zrobić, upewnij się, że moduł ma następujące flagi:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
Przykładowy kod podany powyżej ilustruje pełną definicję modułu pakietu czcionek.
- Utwórz plik o nazwie
fonts.mk
dla pakietu czcionek, a następnie dodaj pliki czcionekttf
doPRODUCT_PACKAGES
. Na przykład:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
Na przykład:
PRODUCT_PACKAGES := \ [font name].ttf \
Utwórz pakiet nakładki na urządzenie
- Utwórz moduł o nazwie
fonts_customization.xml
, który zostanie dodany do kompilacji. Moduł ten wskazuje plikfonts_customization.xml
, który zawiera rodziny czcionek i wywołuje pliki make wszystkich pakietów czcionek. Na przykład:vendor/[oem]/[device]_overlay/fonts/Android.mk
- Utwórz rodziny czcionek:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
Poziom główny pliku musi być znacznikiem
fonts-modification
. Dodaj rodziny czcionek dla każdego pakietu czcionek w ramach tego elementu. Ponadto dodajcustomizationType="new-named-family"
do każdej rodziny czcionek i upewnij się, że każda ma atrybutname
. Ta nazwa jest później używana w celu uzyskania dostępu do rodziny czcionek. Plik ten należy dodać do modułufonts_customizations.xml
zdefiniowanego wcześniej wAndroid.mk
.Przykład podany powyżej zawiera prawidłowy plik
fonts_customization.xml
. - Utwórz plik
fonts.mk
. Na przykład:vendor/[oem]/[device]_overlay/fonts/fonts.mk
- Dodaj
fonts_customization.xml
pod flagąPRODUCT_PACKAGES
. - Wywołaj każdy z wcześniej utworzonych pakietów czcionek.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- Dodaj moduł czcionek do kompilacji w obszarze
PRODUCT_PACKAGES
, a następnie odbuduj. Czcionki zostaną zainstalowane w systemie. - Sprawdź, czy pliki czcionek
ttf
znajdują się w folderze/product/fonts
na urządzeniu. - Sprawdź, czy
fonts_customization.xml
znajduje się w/product/etc/
na urządzeniu.
Skorzystaj z nowej rodziny czcionek systemowych
Aby skorzystać z nowej rodziny czcionek systemowych:
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>