Das programmgesteuerte Einstellen der Hintergrundfarbe eines Android TextView
scheint nicht zu funktionieren. Mir fehlt etwas!
TextView et = new TextView(activity);
et.setText("350");
et.setBackgroundColor(R.color.white);
Ich habe auch diese Datei (colours.xml) in meinem Ordner res / values
<resources>
<color name="white">#ffffffff</color>
<color name="black">#ff000000</color>
</resources>
[BEARBEITEN]: Wenn Sie die Textfarbe einstellen, verschwindet die Textansicht.
TextView c1 = new TextView(activity);
c1.setTextColor(R.color.solid_red);
c1.setText("My Text");
Versuche dies:
Ich bin damit einverstanden, dass eine Farbe und eine Ressource denselben Typ haben, aber ich verbringe auch einige Stunden damit, diese Lösung zu finden.
quelle
So stellen Sie die rote Farbe ein:
Oder
quelle
Ich hatte ein ähnliches Problem, bei dem ich eine numerische Farbe ohne Berücksichtigung des führenden Alphakanals erstellte. dh.
mytext.setTextColor(0xFF0000)
(Ich denke, das wäre rot). Während dies eine rote Farbe ist, ist sie auch 100% transparent, dait = 0x00FF0000;
der korrekte 100% opake Wert0xFFFF0000
oder istmytext.setTextcolor(0xFFFF0000)
.quelle
Nur diese eine Codezeile veränderte den Hintergrund programmgesteuert
quelle
Nun, ich hatte eine Situation, in der der Webdienst eine Farbe im Hex-Format wie "# CC2233" zurückgab und diese Farbe mithilfe von setBackGroundColor () in textView einfügen wollte. Daher habe ich die Android-Farbklasse verwendet, um den int-Wert der Hex-Zeichenfolge abzurufen und an diesen zu übergeben erwähnte Funktion. Alles hat funktioniert. Dies ist ein Beispiel:
PS hat diese Antwort gepostet, weil andere Lösungen für mich nicht funktionierten. Ich hoffe das hilft jemandem :)
quelle
hier ist im Detail,
Wenn Sie in Aktivität sind, verwenden Sie diese
Wenn Sie sich in einem Fragment befinden, verwenden Sie den folgenden Code
Wenn Sie sich im Recyclerview-Adapter befinden, verwenden Sie den folgenden Code
quelle
Hier sind die Schritte, um es richtig zu machen:
Deklarieren Sie zunächst eine Instanz von TextView in Ihrer MainActivity.java wie folgt:
Stellen Sie einen Text DYNAMISCH (wenn Sie möchten) wie folgt ein:
Um die Hintergrundfarbe festzulegen, müssen Sie nun Ihre eigene Farbe in der Datei res-> values-> colours.xml wie folgt definieren:
Sie können jetzt die Farbe "my_color" in Ihrer Java-Datei verwenden, um den Hintergrund wie folgt dynamisch festzulegen:
quelle
quelle
Color.parseHexColor("17ee27")
hat bei mir nicht funktioniert, sondernColor.parseColor("17ee27")
perfekt funktioniert.quelle
zwei Möglichkeiten, dies zu tun:
1.Erstellen Sie Farbe in der Datei colours.xml wie folgt:
und verwenden Sie es int Aktivität Java-Klasse als:
2.
quelle
Wenn Sie alle Versionen unterstützen möchten: Versuchen Sie Folgendes:
quelle
Jut verwenden
quelle
Sie können
android:textColor= "
jede beliebige Textfarbe verwenden, die Sie in einer XML-Datei angeben möchten, in der Ihre Textansicht deklariert ist.quelle