Ist es möglich, die Farbe nur der Textspanne in einer Textansicht festzulegen?
Ich möchte etwas Ähnliches wie die Twitter-App machen, bei der ein Teil des Textes blau ist. Siehe Bild unten:
(Quelle: twimg.com )
android
text
formatting
textview
hpique
quelle
quelle
Hier ist eine kleine Hilfefunktion. Ideal für mehrere Sprachen!
quelle
Ich finde visuelle Beispiele immer hilfreich, wenn ich versuche, ein neues Konzept zu verstehen.
Hintergrundfarbe
Vordergrundfarbe
Kombination
Weitere Studie
quelle
Wenn Sie mehr Kontrolle wünschen, können Sie die
TextPaint
Klasse überprüfen . So verwenden Sie es:quelle
TextView
Stellen Sie den Text Ihres Textes ein und definieren Sie einenForegroundColorSpan
für Ihren Text.quelle
Eine andere Möglichkeit, die in einigen Situationen verwendet werden kann, besteht darin, die Verknüpfungsfarbe in den Eigenschaften der Ansicht festzulegen, die das Spannable verwendet.
Wenn Ihr Spannable beispielsweise in einer Textansicht verwendet werden soll, können Sie die Verknüpfungsfarbe in XML wie folgt festlegen:
Sie können es auch im Code einstellen mit:
quelle
Es gibt eine Fabrik zum Erstellen des Spannable und zum Vermeiden der Besetzung wie folgt:
quelle
Stellen Sie die Farbe auf Text ein, indem Sie String und Farbe übergeben :
Stellen Sie Text in TextView / Button / EditText usw. ein, indem Sie den folgenden Code aufrufen:
Textübersicht:
Farbige Zeichenfolge abrufen:
Text in TextView festlegen:
Getan
quelle
Ausgabe:
quelle
Nur um die akzeptierte Antwort zu ergänzen, da alle Antworten nur zu sprechen scheinen
android.graphics.Color
: Was ist, wenn die gewünschte Farbe definiert istres/values/colors.xml
?Betrachten Sie beispielsweise Material Design-Farben, die definiert sind in
colors.xml
:(
android_material_design_colours.xml
ist dein bester Freund)Verwenden
ContextCompat.getColor(getContext(), R.color.md_blue_500)
Sie dann, wo Sie verwenden würdenColor.BLUE
, so dass:wird:
Wo ich das gefunden habe:
quelle
Hier ist eine Kotlin-Erweiterungsfunktion, die ich dafür habe
Verwenden Sie es, nachdem Sie Ihren Text wie folgt auf die Textansicht eingestellt haben
quelle
Fügen Sie diesen Code in Ihre MainActivity ein
quelle
Unten funktioniert perfekt für mich
quelle
Einige Antworten hier sind nicht aktuell. Weil Sie (in den meisten Fällen) Ihrem Link eine benutzerdefinierte Clic-Aktion hinzufügen .
Außerdem wird, wie in der Hilfe zur Dokumentation angegeben, die Farbe Ihrer übergreifenden Zeichenfolgenverknüpfung standardmäßig verwendet. "Die Standard-Linkfarbe ist die Akzentfarbe des Themas oder Android: textColorLink, wenn dieses Attribut im Thema definiert ist."
Hier ist der Weg, um es sicher zu machen.
Dann, um es zu benutzen.
Hoffe das wird stark helfen!
quelle
So ändern Sie in den Entwicklerdokumenten die Farbe und Größe eines Spanners:
1- Erstellen Sie eine Klasse:
2 Erstellen Sie Ihre Spannbarkeit mit dieser Klasse:
quelle