Teraz możesz używać nakładek zasobów w czasie wykonywania (RRO) do zmiany czcionek. Dodając czcionki niestandardowe, aby utworzyć pakiet czcionek, możesz używać czcionek w motywach i stosować niestandardowe zmiany za pomocą plików RRO.
Wykonaj te czynności:
- Tworzenie pakietu czcionek
- Tworzenie pakietu nakładki na urządzenie
- Używanie dodanej rodziny czcionek systemowych
Przykładową strukturę plików i pliki znajdziesz w pliku custom-fonts.zip. Pobierz i wyodrębnij ten plik lokalnie na potrzeby własne.
Tworzenie pakietu czcionek
Aby utworzyć pakiet czcionek:
- Dodaj wszystkie pliki czcionki
ttf
do pakietu czcionek na partycjivendor
. Przykład:vendor/[oem]/fonts/[oem]-sans/
- Utwórz plik
Android.mk
dla pakietu czcionek. Przykład:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
- Upewnij się, że moduł zostanie zainstalowany na partycji
product
w folderzeetc
. Aby to zrobić, sprawdź, czy moduł ma te flagi:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts
Podany powyżej przykładowy kod ilustruje pełną definicję modułu pakietu czcionek.
- Utwórz plik o nazwie
fonts.mk
dla pakietu czcionek, a potem dodaj do niego plikittf
.PRODUCT_PACKAGES
Przykład:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk
Przykład:
PRODUCT_PACKAGES := \ [font name].ttf \
Tworzenie pakietu nakładki na urządzenie
- Dodaj do kompilacji moduł o nazwie
fonts_customization.xml
. Ten moduł wskazuje plikfonts_customization.xml
zawierający rodziny czcionek i wywołuje pliki make wszystkich pakietów czcionek. 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ć tagiem
fonts-modification
. Dodaj rodziny czcionek dla każdego pakietu czcionek w ramach tego elementu. Dodatkowo dodajcustomizationType="new-named-family"
do każdej rodziny czcionek i upewnij się, że każda z nich ma atrybutname
. Ta nazwa jest później używana do uzyskiwania dostępu do rodziny czcionek. Ten plik musi zostać dodany do modułufonts_customizations.xml
zdefiniowanego wcześniej w plikuAndroid.mk
.Podany powyżej przykład zawiera prawidłowy plik
fonts_customization.xml
. - Utwórz
fonts.mk
. 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ł czcionki do kompilacji w sekcji
PRODUCT_PACKAGES
, a następnie ponownie skompiluj. Czcionki zostaną zainstalowane w systemie. - Sprawdź, czy pliki czcionek
ttf
znajdują się w folderze/product/fonts
na urządzeniu. - Sprawdź, czy na urządzeniu
fonts_customization.xml
jest w pozycji/product/etc/
.
Używanie nowej rodziny czcionek systemowych
Aby korzystać z nowej rodziny czcionek systemowych:
<style name="customstyle"> <item name="android:fontFamily">customfontfamily</item> </style>