Ich möchte einen Text auf eine Farbe zeichnen. Wie zeichnet man es mit einer benutzerdefinierten Schriftart ( ex Helvetica ) und auch fett? Ich würde es vorziehen, eine Systemschriftart zu verwenden und sie nicht aus Assets zu erstellen. Vielen Dank.
91
Canvas
?Antworten:
Wenn mit "benutzerdefinierte Schriftart" eine Schriftart gemeint ist, die Sie als Asset bereitstellen, sollte der folgende Code funktionieren:
quelle
Typeface plain = Typeface.createFromAsset(assetManager, pathToFont); Typeface bold = Typeface.create(plain, Typeface.DEFAULT_BOLD)
.getContext().getAssets()
?Typeface.DEFAULT_BOLD
gab mir auch Probleme, wechselte aber zuTypeface.BOLD
funktioniertWenn Sie die neuen Schriftarten von Android in XML für Ihre Schriftarten verwenden, können Sie Folgendes verwenden, um die für das Malen verwendete Schriftart zu erhalten:
oder wenn Ihre min Android API> = 26
Dann wenden Sie es auf Ihr Farbobjekt an:
Weitere Informationen finden Sie unter https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml#fonts-in-code
quelle
Verwenden Sie dies für die Farbklasse:
quelle
Wenn Sie bereits eine Schriftart verwenden und eine fette Version davon verwenden möchten, können Sie dies tun.
Ich habe die obige Antwort verwendet, aber diese Änderung war für mich notwendig - also dachte ich nur, ich würde sie erwähnen
quelle
Wenn Sie eine Schriftart aus Ressourcen (Kotlin) verwenden möchten:
Dies hängt vielleicht nicht mit der Frage zusammen, aber das ist es, wonach ich gesucht habe - vielleicht würde es auch jemand brauchen.
quelle