Schriftart als XML-Ressource hinzufügen

Unter Android 8.0 (API-Ebene 26) werden Schriftarten in XML eingeführt, eine Funktion, die können Sie Schriftarten als Ressourcen verwenden. Sie können die Datei font hinzufügen in Ordner res/font/, um Schriftarten als Ressourcen zu bündeln. Diese Schriftarten werden in Ihrer R-Datei kompiliert und sind automatisch verfügbar in Android Studio Sie können über den Ressourcentyp font auf die Schriftressourcen zugreifen. Für Um auf eine Schriftartressource zuzugreifen, Verwenden Sie @font/myfont oder R.font.myfont.

So verwenden Sie die Funktion "Schriftarten in XML" auf Geräten mit Android 4.1 (API-Level 16) und höher, verwenden Sie die Support Library 26.0. Weitere Informationen zur Verwendung der Supportbibliothek finden Sie im Verwenden Sie den Abschnitt „Supportbibliothek“.

Führen Sie die folgenden Schritte in Android aus, um Schriftarten als Ressourcen hinzuzufügen Studio:

  1. Klicken Sie mit der rechten Maustaste auf den Ordner res und gehen Sie zu Neu > Android-Ressourcenverzeichnis. Die Das Fenster Neues Ressourcenverzeichnis wird angezeigt.
  2. Wählen Sie in der Liste Ressourcentyp die Option Schriftart aus und klicken Sie auf OK.

    Hinweis: Der Name des Ressourcenverzeichnisses muss font ein.

    Ressourcenverzeichnis für Schriftarten hinzufügen

    Abbildung 1: Das Ressourcenverzeichnis für Schriftarten wird hinzugefügt.

  3. Fügen Sie Ihre Schriftartdateien im Ordner font hinzu.

    Die folgende Ordnerstruktur generiert R.font.dancing_script, R.font.lobster und R.font.typo_graphica

    Schriftartdateien im Ressourcenverzeichnis hinzufügen

    Abbildung 2: Hinzufügen der Schriftartdateien im Verzeichnis res/font

  4. Doppelklicken Sie auf eine Schriftartdatei, um eine Vorschau der Schriftarten im Editor anzuzeigen. Vorschau der Schriftartdatei

    Abbildung 3: Vorschau der Schriftartdatei

Schriftfamilie erstellen

Eine Schriftfamilie besteht aus einer Reihe von Schriftartdateien sowie Details zu Stil und Stärke. In Android können Sie eine neue Schriftfamilie als XML-Ressource und -Zugriff erstellen. als einzelne Einheit, anstatt jeden Stil und jede Gewichtung und separate Ressourcen. So kann das System die richtige Schriftart auswählen, je nach verwendetem Textstil.

Führen Sie die folgenden Schritte in Android Studio aus, um eine Schriftfamilie zu erstellen:

  1. Klicken Sie mit der rechten Maustaste auf den Ordner font und wählen Sie Neu > Ressourcendatei für Schriftarten. Das Fenster Neue Ressourcendatei angezeigt wird.
  2. Geben Sie den Dateinamen ein und klicken Sie auf OK. Neue Schriftartressource XML werden im Editor geöffnet.
  3. Schließen Sie alle Attribute für Schriftart, -stil und -stärke in das Feld <font>-Element. Der folgende XML-Code veranschaulicht, Schriftartattribute in der XML-Datei der Schriftressource:
    <?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>
    

Schriftarten in XML-Layouts verwenden

Verwenden Sie Ihre Schriftarten, entweder eine einzelne Schriftartdatei oder eine Schriftart aus einem Schriftfamilie, TextView -Objekten oder in Stilen mithilfe der Methode fontFamily-Attribut.

Hinweis:Wenn Sie eine Schriftfamilie verwenden, TextView selbstständig, um den Schriftartdateien dieser Familie.

Schriftarten zu einer TextView hinzufügen

Um eine Schriftart für ein TextView festzulegen, führen Sie einen der folgenden Schritte aus: Folgendes:

  • Legen Sie in der Layout-XML-Datei für das Attribut fontFamily den Wert auf die Sie zugreifen möchten.
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@font/lobster"/>
    
  • Öffnen Sie das Fenster Eigenschaften, um die Schriftart für die TextView
    1. Wählen Sie eine Ansicht aus, um das Fenster Eigenschaften zu öffnen.

      Hinweis:Das Fenster Properties (Eigenschaften) ist verfügbar. wenn der Designeditor geöffnet ist. Wählen Sie den Tab Design am unteren Rand des Fensters.

    2. Maximieren Sie die Eigenschaft textAppearance und wählen Sie dann die Schriftart aus. aus der Liste fontFamily aus.
    3. Schriftart über „Eigenschaften“ auswählen

      Abbildung 4: Wählen Sie die Schriftart im Fenster Eigenschaften aus.

Die Layoutvorschau von Android Studio, die in Abbildung 5 ganz rechts zu sehen ist, ermöglicht eine Vorschau des Schriftsatzes in TextView.

Vorschau von Schriftarten in der Layoutvorschau

Abbildung 5: Vorschau von Schriftarten wird in der Layoutvorschau angezeigt.

Schriftarten zu einem Stil hinzufügen

Öffne die Datei styles.xml und lege die fontFamily fest der Schriftartdatei, auf die Sie zugreifen möchten.

  • <style name="customfontstyle" parent="@android:style/TextAppearance.Small">
        <item name="android:fontFamily">@font/lobster</item>
    </style>
    
  • Schriftarten programmatisch verwenden

    Rufen Sie zum programmatischen Abrufen von Schriftarten die Methode getFont(int) und geben Sie Ressourcen-ID der Schriftart, die Sie abrufen möchten. Diese Methode gibt eine Typeface-Objekt. Obwohl das System die besten von den Schriftarten“ aus, können Sie mithilfe der setTypeface(android.graphics.Typeface, int) zum Festlegen des Schriftbilds mit bestimmten Stilen.

    Hinweis: Der TextView dies für Sie tun.

    Kotlin

    val typeface = resources.getFont(R.font.myfont)
    textView.typeface = typeface
    

    Java

    Typeface typeface = getResources().getFont(R.font.myfont);
    textView.setTypeface(typeface);
    

    Supportbibliothek verwenden

    Die Support Library 26.0 unterstützt Schriftarten in XML auf Geräten mit Android 4.1 (API-Level 16) und höher.

    Hinweis: Wenn Sie Schriftfamilien im XML-Layout über die Support Library deklarieren, app-Namespace, damit Ihre Schriftarten geladen werden

    <?xml version="1.0" encoding="utf-8"?>
    <font-family xmlns:app="http://schemas.android.com/apk/res-auto">
        <font app:fontStyle="normal" app:fontWeight="400" app:font="@font/myfont-Regular"/>
        <font app:fontStyle="italic" app:fontWeight="400" app:font="@font/myfont-Italic" />
    </font-family>
    

    Rufen Sie zum programmatischen Abrufen von Schriftarten die Methode ResourceCompat.getFont(Context, int)-Methode und geben Sie an, Instanz von Context und der Ressourcen-ID.

    Kotlin

    val typeface = ResourcesCompat.getFont(context, R.font.myfont)
    

    Java

    Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);