Zasoby czcionek

Zasób czcionki określa czcionkę niestandardową, której możesz używać w swojej aplikacji. Czcionki mogą być pojedynczymi plikami czcionek lub kolekcją plików czcionek, znaną jako rodzina czcionek i zdefiniowane w kodzie XML.

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

Czcionka w pakiecie

Czcionki można grupować jako zasoby aplikacji. Czcionki są kompilowane w pliku R i automatycznie dostępne w systemie jako zasoby. Następnie możesz uzyskać dostęp do tych czcionek za pomocą typu zasobu font.

lokalizacja pliku:
res/font/filename.ttf (.ttf, .ttc, .otf lub .xml)
Jako identyfikator zasobu jest używana nazwa pliku.
odniesienie do zasobów:
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 pojedynczą czcionkę w grupie rodzinnej. 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 wszelkie informacje o stylu w tabelach nagłówków czcionek. Jeśli nie określisz atrybutu, aplikacja użyje wartości z tabel nagłówków czcionek. Wartość stała to 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 wszelkie informacje o grubości podane w tabelach nagłówków czcionek. Wartość atrybutu musi być wielokrotnością liczby 100 z zakresu od 100 do 900 włącznie. Jeśli nie określisz atrybutu, aplikacja użyje wartości z tabel nagłówków czcionek. Najczęstsze wartości to 400 dla wagi standardowej i 700 dla wagi pogrubionej.
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 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 określa czcionkę niestandardową, której możesz używać w aplikacji. Ta czcionka nie jest dostępna w samej aplikacji. Zamiast tego czcionka jest pobierana od jej dostawcy.

lokalizacja pliku:
res/font/filename.xmlNazwa pliku to identyfikator zasobu.
odniesienie do zasobów:
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. Uprawnienia dostawcy czcionki, który określa żądanie czcionki.
android:fontProviderPackage
Ciąg znaków. Wymagany. Nazwa pakietu dostawcy czcionki, który ma być użyty w żądaniu. Służy do weryfikacji tożsamości dostawcy.
android:fontProviderQuery
Ciąg znaków. Wymagany. Zapytanie tekstowe dotyczące czcionki. Informacje o formacie tego ciągu znaków znajdziesz w dokumentacji dostawcy czcionki.
android:fontProviderCerts
Zasób tablicy. Wymagany. Definiuje zestawy haszów certyfikatów używanych do podpisywania tego dostawcy. Służy ona do weryfikacji tożsamości dostawcy i jest wymagana tylko wtedy, gdy dostawca nie jest częścią obrazu systemu. Wartość może wskazywać pojedynczą listę (zasób w postaci tablicy ciągu znaków) lub listę list (zasób tablicy), gdzie każda lista reprezentuje jeden zbiór haszy podpisu. Informacje o tych wartościach znajdziesz w dokumentacji dostawcy czcionki.
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 res/values/, który określa tablicę certyfikatów:

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

Plik XML zapisany w 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!" />