Mit einer Schriftartressource wird eine benutzerdefinierte Schriftart definiert, die Sie in Ihrer Anwendung verwenden können. Schriftarten können einzelne Schriftartdateien oder eine Sammlung von Schriftartdateien sein, die als Schriftartfamilie bezeichnet werden und im XML-Format definiert sind.
Hier erfährst du auch, wie du Schriftarten im XML-Format definierst oder herunterladbare Schriftarten verwendest.
Gebündelte Schriftart
Sie können Schriftarten als Ressourcen in einer App bündeln. Schriftarten werden in der Datei R
kompiliert und sind im System automatisch als Ressource verfügbar. Sie können dann mithilfe des Ressourcentyps font
auf diese Schriftarten zugreifen.
- Dateispeicherort:
res/font/filename.ttf
(.ttf
,.ttc
,.otf
oder.xml
)
Der Dateiname wird als Ressourcen-ID verwendet.- Ressourcenreferenz:
- Im XML-Format:
@[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:
- 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 in
res/layout/
gespeichert, die die Schriftart auf eineTextView
anwendet:<?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!" />
Schriftart zum Herunterladen
In einer herunterladbaren Schriftartressource wird eine benutzerdefinierte Schriftart definiert, die Sie in einer App verwenden können. Diese Schriftart ist in der App selbst nicht verfügbar. Stattdessen wird die Schriftart von einem Schriftartanbieter abgerufen.
- Dateispeicherort:
res/font/filename.xml
Der Dateiname ist die Ressourcen-ID.- Ressourcenreferenz:
- Im XML-Format:
@[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:
- 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 Zertifikat-Array definiert:<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="certs"> <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item> </string-array> </resources>
XML-Datei in
res/layout/
gespeichert, die die Schriftart auf eineTextView
anwendet:<?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!" />