Ich habe die neuen Android O-Funktionen durchgesehen, und eines der neuen Dinge ist, dass App jetzt Schriften direkt in den res
-Ordner hinzufügen kann. Laut Android Dokumentation für das Arbeiten mit Schriftarten müssen Sie als ersten Schritt einen neuen Ressourcentyp mit dem Namen "font" erstellen. Klicken Sie dazu mit der rechten Maustaste auf den Ordner res und wählen Sie Neu> Android-Ressourcenverzeichnis.
Ich konnte jedoch nicht die Option "Schrift" für den Ressourcentyp im Dropdown-Menü in Android Studio sehen.
Ich kann die Option "font" nicht im Dropdown-Menü sehen und kann daher kein Android-Ressourcenverzeichnis für Schriftarten erstellen.
Meine Android Studio-Details:
Android Studio 2.3Build # AI-162.3764568, erstellt am 24. Februar 2017 JRE: 1.8.0_112-release-b06 x86_64 JVM: OpenJDK 64-Bit-Server VM von JetBrains sro
Wie Mike in Kommentaren sagte, unterstützt Android Studio 2.4 derzeit alle neuen Entwicklerfunktionen von Android O.
Ich habe die Android Studio 2.4 Preview von Canary Channel verwendet und konnte bei der Auswahl des Android-Ressourcenverzeichnisses die Option "Schriftart" sehen.
Unten ist das Bild für dasselbe.
Eine Sache, die mir aufgefallen ist, ist, dass das Dropdown-Menü tatsächlich scrollbar ist. Da die Bildlaufleiste jedoch ziemlich dunkel ist, können andere es nicht bemerken. Ich finde "font" erst, wenn ich sie nach unten gescrollt habe.
Sie müssen Android Studio auf 3.0 Beta 2 aktualisieren, um alle neuesten Funktionen der Schriftfamilie verwenden zu können
Falls Sie sich fragen, wie Sie diese neuen Schriftarten programmgesteuert verwenden können (was einige Zeit in Anspruch nahm), lesen Sie in diesem Tutorial von SEGUN nach. Er lehrt Folgendes:
Java:
Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);
fontText.setTypeface(typeface);
Kotlin:
val myCustomFont : Typeface? = ResourcesCompat.getFont(this, R.font.my_font)
fontText.typeface = myCustomFont
Hinweis: Sie müssen die Schriftart .ttf
in Ihrem Projekt herunterladen, nicht nur den .xml
für die herunterladbare Schriftart.