Wie kann ich die Textfarbe einer TextView einstellen? #bdbdbd
programmatisch?
Wie setze ich die Textfarbe einer TextView programmgesteuert? [duplicate]
Nein
Benutzer370305
Verwenden,..
Color.parseColor("#bdbdbd");
wie,
mTextView.setTextColor(Color.parseColor("#bdbdbd"));
Oder wenn Sie einen Farbcode in Ressourcen definiert haben color.xml
Datei als
(Von API >= 23)
mTextView.setTextColor(ContextCompat.getColor(context, R.color.<name_of_color>));
(Für API < 23)
mTextView.setTextColor(getResources().getColor(R.color.<name_of_color>));
-
Warum nicht
0xFFBDBDBD
?– Rudey
1. September 2013 um 1:34 Uhr
-
Color.parseColor(“#FFBDBDBD”) funktioniert auch.
– macio.Jun
25. März 2015 um 13:29 Uhr
-
Ich musste das Alpha einschließen, damit es bestanden wurde. Also “#ffbdbdbd” statt “#bdbdbd”.
– Alt-Kat
23. November 2020 um 18:57 Uhr
-
Danke. Funktioniert einwandfrei 😀
– Annas Bin Waheed
5. Juni 2021 um 21:36 Uhr
AlikElzin-kilaka
Tolle Antworten. Hinzufügen ein das die Farbe aus einer Android-Ressourcen-XML lädt, aber dennoch programmgesteuert festlegt:
textView.setTextColor(getResources().getColor(R.color.some_color));
Bitte beachten Sie, dass ab API 23, getResources().getColor()
ist veraltet. Verwenden Sie stattdessen:
textView.setTextColor(ContextCompat.getColor(context, R.color.some_color));
wobei die erforderliche Farbe in einer XML-Datei wie folgt definiert ist:
<resources>
<color name="some_color">#bdbdbd</color>
</resources>
Aktualisieren:
Diese Methode war in API-Ebene 23 veraltet. Verwenden Sie stattdessen getColor(int, Theme).
Überprüfen Sie dies.
-
Danke, ich hatte aus irgendeinem Grund Probleme beim Einstellen der Holo-Farben, wie z
tv.setTextColor(color.holo_green_light)
. Der Text wurde unsichtbar angezeigt. Also setze ich die Farbe als Ressource in XML gerne ein@android:color/holo_green_light
und setze es programmgesteuert damit.– RTF
17. Februar 2014 um 12:32 Uhr
-
von API 23 get.Color() ist veraltet. verwenden Sie stattdessen ContextCompat.getColor(context, R.color.color_name)
– Rami
18. März 2016 um 15:25 Uhr
yourTextView.setTextColor(color);
Oder in Ihrem Fall: yourTextView.setTextColor(0xffbdbdbd);
-
was macht
0xff
bedeuten ? und was ist die Diff-WettesetTextColor(0xffbdbdbd)
undsetTextColor(Color.parseColor("#bdbdbd"))
?– mrid
22. Juli 2017 um 10:26 Uhr
-
0xFFBDBDBD ist die hexadezimale Darstellung einer Ganzzahl, wobei die verschiedenen Teile die Anteile von Alpha, Rot, Grün und Blau darstellen (0xAARRGGBB) (das 0xff bedeutet, dass das Alpha vollständig weiß ist – das heißt, keine Transparenz). “#bdbdbd” ist eine Zeichenfolge, die bei der Übergabe an die Funktion in dieselbe Ganzzahl geparst wird
parseColor
.– Jave
23. Juli 2017 um 10:55 Uhr
-
Wenn Sie 4 Bytes haben, um eine Farbe zu definieren, bezieht sich das erste Byte auf den Alphakanal in Farbe, was die Transparenz der Farbe bedeutet, die restlichen Bytes beziehen sich auf Rot, Grün und Blau; Wenn Sie also 0xffbdbdbd haben, ist es ein RGB-Format und ohne die ersten 2 ff ist es ein RGB-Format. Auch wenn Sie Color.parseColor(“#bdbdbd”) ausführen, wird die hexadezimal formatierte Zeichenfolge ‘#bdbdbd’ in eine Ganzzahl umgewandelt, die 0xbdbdbd (hex) => 12434877 (dez) entspricht.
– alexscmar
25. Dezember 2019 um 13:40 Uhr
Mark Sebera
TextView tt;
int color = Integer.parseInt("bdbdbd", 16)+0xFF000000;
tt.setTextColor(color);
Auch
tt.setBackgroundColor(Integer.parseInt("d4d446", 16)+0xFF000000);
Auch
tt.setBackgroundColor(Color.parseColor("#d4d446"));
sehen:
Konvertierung von Java/Android-String in Farbe
Ein Hinweis zum Optimieren der Benutzeroberfläche im Code: Bitte berücksichtigen Sie die Vorteile, wenn Sie die Benutzeroberfläche während der Entwurfszeit sehen und die Laufzeitänderungen auf ein Minimum reduzieren.
– AlikElzin-kilaka
18. Mai 2016 um 5:04 Uhr
Verwenden
textView.setTextColor(textView.getContext().getColor(R.color.white));
um den Text auf Weiß oder eine andere in der colors.xml angegebene Farbe einzustellen– Ola Strom
1. März um 14:00 Uhr