2013-08-14 8 views
21

Wenn für eine Textview benutzerdefinierte Schriftarten einstellen, kann ich nur normal, fett oder kursiv wählen: enter image description hereAndroid Textart fehlende leicht, mittel, dünn,

Wie kann ich den Stil dieser Licht sein statt fett im folgenden Beispiel?

<TextViewWithCustomFont 
... 
android:textStyle="bold"/> 
+0

Verwenden Sie eine Kombination von z.B. 'android: textStyle =" normal | fett | kursiv "' oder 'android: textStyle =" normal | fett "', du hast mehr als 10 Kombinationen. – g00dy

+3

@ g00dy gibt es nur 4 Kombinationen. "normal", "fett", "kursiv" und "fett/kursiv". Im Code ist dies 'Typeface.BOLD',' Typeface.ITALIC', 'Typeface.BOLD_ITALIC' und' Typeface.NORMAL'. Weil das sind Integer und fett als 1 und Kursiv als 2 und boldital als 3 sein dann 'Typeface.ITALIC | Typeface.BOLD == Typeface.BOLD_ITALIC' –

+0

@ g00dy,' android: textStyle = "normal | bold" 'geben Sie einfach einen Fettdruck ??? – Sam

Antwort

1

Sie können nur die drei Attribute kombinieren:

  • normalen
  • fett
  • kursiv

http://developer.android.com/reference/android/widget/TextView.html#attr_android:textStyle

So kann es sein:

  • normalen
  • fett
  • kursiv
  • fett | Kursiv
+1

Ich weiß was es sein kann. Ich frage, wie Sie andere Stile für benutzerdefinierte Schriftarten mit anderen Stilen festlegen können. –

+3

@kilaka: "Ich frage, wie man andere Stile für benutzerdefinierte Schriftarten mit anderen Stilen einstellt" - Android unterstützt ein solches Konzept nicht, es sei denn diese "anderen Stile" sind in separate Schriftdateien aufgeteilt, die einzeln geladen werden. – CommonsWare

+0

@CommonsWare - Wenn die Font-Dateien einzeln geladen werden, hat 'Style' keine Bedeutung - nur die Schriftart. Dies bedeutet, dass das style-Attribut in benutzerdefinierten Schriftarten nutzlos ist. –

47

Dies ist schriftartspezifisch. Nicht alle Fonts haben eine Licht, Medium, Thin Attribut/Stil, aber die Standardschrift sollte. Sie können die Standardschriftart verwenden, indem Sie fontFamily: sans-serif-light oder für dünn, fontFamily: sans-serif-thin verwenden.

Für benutzerdefinierte Schriftarten müssten Sie die Light-Version der Schriftart einschließen und sie verwenden.

+1

Dies funktioniert nur von api 16 .. –

+0

Wie wäre es für semi-fett? – Sam