Możesz teraz zmieniać czcionki za pomocą nakładek zasobów czasu działania (RRO). Dodając niestandardowe możesz użyć czcionek w motywach, a następnie użyć RRO, aby zastosować i dostosowywania.
Wykonaj te zadania:
- Tworzenie pakietu czcionek
- Tworzenie pakietu nakładki na urządzenie
- Używanie dodanej rodziny czcionek systemowych
Przykładowa struktura plików i przykładowe pliki są dostępne w custom-fonts.zip. Pobierz ten plik i rozpakuj go lokalnie na własny użytek.
Utwórz pakiet czcionek
Aby utworzyć pakiet czcionek:
- Dodaj wszystkie pliki czcionek
ttf
do pakietu czcionek wvendor
partycja. 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
wetc
. W tym celu sprawdź, czy moduł zawiera te 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 czcionkęttf
plików do folderuPRODUCT_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. Ten moduł wskazuje plikfonts_customization.xml
, który zawiera czcionkę rodzin i wywołuje pliki tworzące wszystkie pakiety czcionek. Na przykład:vendor/[oem]/[device]_overlay/fonts/Android.mk
- Utwórz rodziny czcionek:
vendor/[oem]/[device]_overlay/fonts/fonts_customization.xml
Głównym poziomem pliku musi być tag
fonts-modification
. Dodaj rodzin czcionek dla każdego pakietu czcionek w ramach tego elementu. Dodatkowo dodajcustomizationType="new-named-family"
do każdej rodziny czcionek sprawdź, czy każdy z nich ma atrybutname
. Ta nazwa będzie później używana, aby uzyskać dostęp do rodzinę czcionek. Ten plik należy dodać do:fonts_customizations.xml
zdefiniowany wcześniej w dokumencieAndroid.mk
.Powyższa próbka zawiera prawidłowy plik
fonts_customization.xml
. - Utwórz
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 utworzonych wcześniej pakietów czcionek.
$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
- Dodaj moduł czcionek do kompilacji pod
PRODUCT_PACKAGES
, a potem skompiluj go od nowa. Czcionki zostaną zainstalowane w systemie. - Sprawdź, czy pliki czcionek
ttf
znajdują się w/product/fonts
na urządzeniu. - Sprawdź, czy
fonts_customization.xml
jest w pokoju/product/etc/
na urządzenia.
Użyj nowej rodziny czcionek systemowych
Aby korzystać z nowej rodziny czcionek systemowych:
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>