Dodaj czcionki niestandardowe

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:

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:

  1. Dodaj wszystkie pliki czcionek ttf do pakietu czcionek w vendor partycja. Na przykład:

    vendor/[oem]/fonts/[oem]-sans/

  2. Utwórz plik Android.mk dla pakietu czcionek. Na przykład:

    vendor/[oem]/fonts/[oem]-[fontname]/Android.mk

  3. Upewnij się, że moduł zostanie zainstalowany na partycji product w etc. 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.

  4. Utwórz plik o nazwie fonts.mk dla pakietu czcionek, a następnie dodaj czcionkę ttf plików do folderu PRODUCT_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

  1. Utwórz moduł o nazwie fonts_customization.xml, który zostanie dodany do kompilacji. Ten moduł wskazuje plik fonts_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

  2. 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 dodaj customizationType="new-named-family" do każdej rodziny czcionek sprawdź, czy każdy z nich ma atrybut name. 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 dokumencie Android.mk.

    Powyższa próbka zawiera prawidłowy plik fonts_customization.xml.

  3. Utwórz fonts.mk. Na przykład:

    vendor/[oem]/[device]_overlay/fonts/fonts.mk

  4. Dodaj fonts_customization.xml pod flagą PRODUCT_PACKAGES.
  5. Wywołaj każdy z utworzonych wcześniej pakietów czcionek.

    $(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)

  6. Dodaj moduł czcionek do kompilacji pod PRODUCT_PACKAGES, a potem skompiluj go od nowa. Czcionki zostaną zainstalowane w systemie.
  7. Sprawdź, czy pliki czcionek ttf znajdują się w /product/fonts na urządzeniu.
  8. 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>