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
ttfdo pakietu czcionek na partycjivendor. Przykład:vendor/[oem]/fonts/[oem]-sans/ - Utwórz plik
Android.mkdla pakietu czcionek. Przykład:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk - Upewnij się, że moduł zostanie zainstalowany na partycji
productw 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.mkdla pakietu czcionek, a potem dodaj do niego plikittf.PRODUCT_PACKAGESPrzykład:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mkPrzykł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.xmlzawierają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.xmlPoziom 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.xmlzdefiniowanego 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.xmlpod 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
ttfznajdują się w folderze/product/fontsna urządzeniu. - Sprawdź, czy na urządzeniu
fonts_customization.xmljest 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>