Ressourcen zu Schriftarten

Eine Schriftartressource definiert eine benutzerdefinierte Schriftart, die Sie in Ihrer App verwenden können. Schriftarten Dabei kann es sich um einzelne Schriftartdateien oder eine Sammlung von Schriftartdateien, und in XML definiert ist.

Weitere Informationen zum Definieren von Schriftarten in XML oder verwende stattdessen herunterladbare Schriftarten.

Gruppierte Schriftart

Sie können Schriftarten als Ressourcen in einer App bündeln. Schriftarten werden in der R-Datei und sind automatisch als . Sie können dann über die Ressourcentyp font.

Dateispeicherort:
res/font/filename.ttf (.ttf, .ttc, .otf oder .xml)
Der Dateiname wird als Ressourcen-ID verwendet.
Ressourcenreferenz:
In XML: @[package:]font/font_name
Syntax:
<?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>
Elemente:
<font-family>
Erforderlich. Dies muss der Stammknoten sein.

Keine Attribute.

<font>
Definiert eine einzelne Schriftart innerhalb einer Familie. Enthält keine untergeordneten Knoten.

Attribute:

android:fontStyle
Keyword: Definiert den Schriftstil. Dieses Attribut ist wird beim Laden der Schriftart in den Schriftartenstapel verwendet und überschreibt alle Stilinformationen in den Kopfzeilentabellen der Schriftart. Wenn Sie keine das Attribut enthält, verwendet die App den Wert aus der Headertabellen. Der konstante Wert ist entweder normal oder italic.
android:fontWeight
Ganzzahl. Die Stärke der Schrift. Dieses Attribut ist wird beim Laden der Schriftart in den Schriftartenstapel verwendet und überschreibt alle Schriftstärken in den Kopfzeilentabellen der Schriftart. Die Attributwert muss ein Vielfaches sein 100 zwischen 100 und 900 (einschließlich) liegt. Wenn Sie keine das Attribut enthält, verwendet die App den Wert aus der Überschrift Tabellen. Die häufigsten Werte sind 400 für ein reguläres Gewicht und 700 für Fettdruck.
Beispiel:
XML-Datei gespeichert unter 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>

XML-Datei, die in res/layout/ gespeichert ist und die die Schriftart auf eine 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!" />

Herunterladbare Schriftart

In einer zum Download verfügbaren Schriftartressource wird eine benutzerdefinierte Schriftart definiert, die Sie in einer Diese Schriftart ist in der App selbst nicht verfügbar. Stattdessen wird die Schriftart die von einem Schriftartanbieter abgerufen wurden.

Dateispeicherort:
res/font/filename.xml Der Dateiname ist die Ressourcen-ID.
Ressourcenreferenz:
In XML:@[package:]font/font_name
Syntax:
<?xml version="1.0" encoding="utf-8"?>
<font-family
    android:fontProviderAuthority="authority"
    android:fontProviderPackage="package"
    android:fontProviderQuery="query"
    android:fontProviderCerts="@[package:]array/array_resource" />
Elemente:
<font-family>
Erforderlich. Dies muss der Stammknoten sein.

Attribute:

android:fontProviderAuthority
String. Erforderlich. Die Autorität der Schriftart Anbieter, der die Schriftartanfrage definiert.
android:fontProviderPackage
String. Erforderlich. Paketname der Schriftart der für die Anfrage zu verwenden ist. Damit wird überprüft, Identität des Anbieters.
android:fontProviderQuery
String. Erforderlich. Die Zeichenfolgenabfrage der Schriftart. Informationen zum Format dieser Schriftart finden Sie in der Dokumentation Ihres Schriftartanbieters. .
android:fontProviderCerts
Array-Ressource Erforderlich. Definiert die Gruppen von Hashes für die Zertifikate, mit denen dieser Anbieter signiert wurde. Dies ist wird zur Überprüfung der Identität des Anbieters verwendet und ist nur erforderlich wenn der Anbieter nicht im System-Image enthalten ist. Der Wert kann auf eine einzelne Liste (eine String-Array-Ressource) oder eine Liste von Listen verweisen, (Array-Ressource), wobei jede einzelne Liste für eine Ressource steht Sammlung von Signatur-Hashes. Weitere Informationen finden Sie in der Dokumentation zu diesen Werten.
Beispiel:
XML-Datei gespeichert unter 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>

XML-Datei, die in res/values/ gespeichert ist und das Zertifikatarray definiert:

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

XML-Datei, die in res/layout/ gespeichert ist und die die Schriftart auf eine 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!" />