Zasoby czcionek

Zasób czcionki definiuje niestandardową czcionkę, której możesz użyć w aplikacji. Czcionki mogą to być pojedyncze pliki czcionek lub zbiór plików czcionek, tzw. i zdefiniowane w kodzie XML.

Zobacz też, jak zdefiniować czcionki w pliku XML lub zamiast tego użyj czcionek do pobrania.

Czcionka w pakiecie

Możesz łączyć czcionki jako zasoby w aplikacji. Czcionki są zbierane w R i są automatycznie dostępne w systemie jako pliki . Możesz uzyskać do nich dostęp, korzystając z font typ zasobu.

lokalizacja pliku:
, res/font/filename.ttf (.ttf, .ttc, .otf lub .xml)
Nazwa pliku jest używana jako identyfikator zasobu.
odniesienie do zasobu:
W pliku XML: @[package:]font/font_name
składnia:
<?xml version="1.0" encoding="utf-8"?>
<font-family>
  <font
    android:font="@[package:]font/font_to_include"
    android:fontStyle=["normal" | "italic"]
    android:fontWeight="weight_value" />
</font-family>
elementy:
<font-family>
Wymagane. Musi to być węzeł główny.

Brak atrybutów.

<font>
– definiuje jedną czcionkę w obrębie rodziny. Nie zawiera węzłów podrzędnych.

Atrybuty:

android:fontStyle
Słowo kluczowe. Określa styl czcionki. Ten atrybut jest używany, gdy czcionka jest wczytywana do stosu czcionek i zastępuje ją wszystkie informacje o stylu z tabel nagłówków. Jeśli nie chcesz określić atrybut, aplikacja użyje wartości z atrybutu tabeli nagłówka. Stała wartość to albo normal lub italic.
android:fontWeight
Liczba całkowita. Grubość czcionki. Ten atrybut jest używany, gdy czcionka jest wczytywana do stosu czcionek i zastępuje ją wszystkich informacji o wadze w tabelach nagłówka danej czcionki. wartość atrybutu musi być wielokrotnością 100 między 100 a 900 włącznie. Jeśli nie określisz aplikacji, aplikacja użyje wartości z nagłówka czcionki tabeli. Najczęstsze wartości to 400 dla wagi standardowej i 700 dla pogrubionej wagi.
przykład:
Plik XML zapisany o res/font/lobster.xml:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:fontStyle="normal"
        android:fontWeight="400"
        android:font="@font/lobster_regular" />
    <font
        android:fontStyle="italic"
        android:fontWeight="400"
        android:font="@font/lobster_italic" />
</font-family>

Plik XML zapisany w folderze res/layout/, który stosuje czcionkę do TextView:

<?xml version="1.0" encoding="utf-8"?>
<EditText
    android:fontFamily="@font/lobster"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello, World!" />

Czcionka do pobrania

Zasób czcionki do pobrania definiuje niestandardową czcionkę, której można użyć w . Czcionka nie jest dostępna w samej aplikacji. Zamiast tego czcionka to pobrane od dostawcy czcionek.

lokalizacja pliku:
, res/font/filename.xml Nazwa pliku to identyfikator zasobu.
odniesienie do zasobu:
W pliku XML:@[package:]font/font_name
składnia:
<?xml version="1.0" encoding="utf-8"?>
<font-family
    android:fontProviderAuthority="authority"
    android:fontProviderPackage="package"
    android:fontProviderQuery="query"
    android:fontProviderCerts="@[package:]array/array_resource" />
elementy:
<font-family>
Wymagane. Musi to być węzeł główny.

atrybuty:

android:fontProviderAuthority
Ciąg znaków. Wymagany. autorytet czcionki, dostawcy, który definiuje żądanie czcionki.
android:fontProviderPackage
Ciąg znaków. Wymagany. Nazwa pakietu czcionki usługodawcy. Służą one do weryfikowania dostawcy usług.
android:fontProviderQuery
Ciąg znaków. Wymagany. Zapytanie w postaci ciągu znaków dotyczące czcionki. Zapoznaj się z dokumentacją dostawcy czcionek dotyczącą formatu tej czcionki. ciągu znaków.
android:fontProviderCerts
Zasób tablicy. Wymagany. Definiuje zbiory hasze certyfikatów używanych do podpisywania tego dostawcy. To jest służy do weryfikacji tożsamości dostawcy i jest wymagana tylko jeśli dostawca nie jest częścią obrazu systemu. Wartość może wskaż pojedynczą listę (zasób tablicy z ciągami znaków) lub listę list (zasób tablicy), gdzie każda lista reprezentuje jedną zbieranie haszy podpisu. Zapoznaj się z dokumentację tych wartości.
przykład:
Plik XML zapisany o res/font/lobster.xml:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
    android:fontProviderAuthority="com.example.fontprovider.authority"
    android:fontProviderPackage="com.example.fontprovider"
    android:fontProviderQuery="Lobster"
    android:fontProviderCerts="@array/certs">
</font-family>

Plik XML zapisany w zasadzie res/values/, który definiuje tablicę certyfikatu:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="certs">
      <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item>
    </string-array>
</resources>

Plik XML zapisany w folderze res/layout/, który stosuje czcionkę do TextView:

<?xml version="1.0" encoding="utf-8"?>
<EditText
    android:fontFamily="@font/lobster"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello, World!" />