In der Antwort auf diese Frage listet der Benutzer Werte für android:fontFamily
und 12 Varianten auf (siehe unten). Woher kommen diese Werte? In der Dokumentation für sind android:fontFamily
diese Informationen an keiner Stelle aufgeführt (ich habe sie hier und hier überprüft ). Die Zeichenfolgen werden an verschiedenen Stellen in der Datei Android styles.xml aufgelistet. Wie werden diese jedoch der Roboto-Schriftart zugeordnet?
Ab Android 4.1 / 4.2 sind die folgenden Roboto-Schriftfamilien verfügbar:
android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)
in Kombination damit
android:textStyle="normal|bold|italic"
12 Varianten sind möglich:
- Regulär
- Kursiv
- Fett gedruckt
- Fett Kursiv
- Licht
- Leicht kursiv
- Dünn
- Dünn-kursiv
- Regelmäßig verdichtet
- Verkürzt kursiv
- Fett zusammengefasst
- Fett kursiv zusammengefasst
In der styles.xml
Datei in der Anwendung arbeite ich an jemandem, der dies als Schriftfamilie aufgeführt hat, und ich bin mir ziemlich sicher, dass es falsch ist:
<item name="android:fontFamily">Roboto-Regular.ttf</item>
Ich möchte das Thema für unsere App korrekt einrichten (einschließlich der korrekten Verwendung von fontFamily) und alle Redundanzen entfernen, die in einigen der Stile vorhanden sind, die erstellt wurden, bevor ich mir die Datei angesehen habe.
Verfügbare Schriftarten (ab Oreo)
Auf der Seite Material Design Typography finden Sie Demos für einige dieser Schriftarten sowie Vorschläge zur Auswahl von Schriftarten und Stilen.
Für Code-Sleuths:
fonts.xml
ist die endgültige und ständig wachsende Liste von Android-Schriftarten.Verwenden dieser Schriftarten
Stellen Sie die Attribute
android:fontFamily
und einandroid:textStyle
, zzu den gewünschten Werten aus dieser Tabelle:
(Noto Sans ist eine Fallback-Schriftart; Sie können sie nicht direkt angeben.)
Hinweis: Diese Tabelle ist abgeleitet von
fonts.xml
. Der Familienname und -stil jeder Schriftart ist in der Datei fonts.xml aufgeführt, zserif-monospace
ist also die Schriftfamilie undnormal
ist der Stil.Kompatibilität
Anhand des Protokolls von fonts.xml und der vorherigen system_fonts.xml können Sie sehen, wann jede Schriftart hinzugefügt wurde:
quelle
Soweit mir bekannt ist, können Sie keine benutzerdefinierten Schriftarten in XML oder Designs deklarieren. Normalerweise erstelle ich benutzerdefinierte Klassen, die die Textansicht erweitern und bei der Instanziierung ihre eigene Schriftart festlegen, und verwende diese in meinen Layout-XML-Dateien.
dh:
und
quelle