Ab Android-Studio 3.0 sehr einfach, die Schriftfamilie zu ändern
Mit der Support-Bibliothek 26 funktioniert es auf Geräten mit Android API Version 16 und höher
Erstellen Sie einen Ordner font
unter dem res
Verzeichnis. Laden Sie die gewünschte Schriftart herunter und fügen Sie sie in den font
Ordner ein. Die Struktur sollte ungefähr so aussehen wie unten
Hinweis: Ab Android Support Library 26.0 müssen Sie beide Attributgruppen (android: und app :) deklarieren, um sicherzustellen, dass Ihre Schriftarten auf Geräten mit Api 26 oder niedriger geladen werden.
Jetzt können Sie die Schriftart im Layout mit ändern
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/dancing_script"
app:fontFamily="@font/dancing_script"/>
Programmatisch ändern
Typeface typeface = getResources().getFont(R.font.myfont);
//or to support all versions use
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);
textView.setTypeface(typeface);
Um die Schriftart mit styles.xml zu ändern, erstellen Sie einen Stil
<style name="Regular">
<item name="android:fontFamily">@font/dancing_script</item>
<item name="fontFamily">@font/dancing_script</item>
<item name="android:textStyle">normal</item>
</style>
und wende diesen Stil auf an TextView
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Regular"/>
Sie können auch Ihre eigene Schriftfamilie erstellen
- Klicken Sie mit der rechten Maustaste auf den Schriftartenordner und gehen Sie zu Neu> Schriftressourcendatei . Das Fenster Neue Ressourcendatei wird angezeigt.
- Geben Sie den Dateinamen ein und klicken Sie auf OK . Die neue XML-Schriftartressource wird im Editor geöffnet.
Schreiben Sie hier beispielsweise Ihre eigene Schriftfamilie
<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>
Dies ist einfach eine Zuordnung eines bestimmten fontStyle und fontWeight zu der Schriftartressource, die zum Rendern dieser bestimmten Variante verwendet wird. Gültige Werte für fontStyle sind normal oder kursiv. und fontWeight entspricht der CSS-Spezifikation für die Schriftgröße
1. Um die Schriftfamilie im Layout zu ändern, können Sie schreiben
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lobster"/>
2. Programmgesteuert ändern
Typeface typeface = getResources().getFont(R.font.lobster);
//or to support all versions use
Typeface typeface = ResourcesCompat.getFont(context, R.font.lobster);
textView.setTypeface(typeface);
So ändern Sie die Schriftart der gesamten App Fügen Sie diese beiden Zeilen in AppTheme hinzu
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:fontFamily">@font/your_font</item>
<item name="fontFamily">@font/your_font</item>
</style>
Sehen Sie die Dokumentation , Android benutzerdefinierten Schriftarten Tutorial Für weitere Informationen