Ich erstelle programmgesteuert eine Liste (keine ListView, füge sie nur dem übergeordneten Element hinzu) solcher Elemente:
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_weight="1">
<TextView android:id="@+id/filiale_name"
android:layout_width="fill_parent" android:layout_height="wrap_content"/>
<TextView android:id="@+id/lagerstand_text"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:textSize="10sp" android:textColor="@color/red"/>
</LinearLayout>
Außerdem habe ich einige Farben in values / color.xml definiert. Wie Sie sehen, hat die Textansicht mit der ID "lagerstand_text" ihre Farbe standardmäßig auf rot gesetzt. Das funktioniert.
Beim Erstellen der Elemente in Java mache ich das
lagerstandText.setText("bla");
und für einige Elemente auch
lagerstandText.setTextColor(R.color.red);
und andere Farben. Während die Elemente, für die ich setTextColor () nicht aufrufe, rot sind, sind alle anderen grau, egal welche Farbe ich gewählt habe (auch wenn es wieder dasselbe Rot ist).
Warum das?
Es gibt also viele Möglichkeiten, diese Aufgabe zu erfüllen.
1.
int color = Integer.parseInt("bdbdbd", 16)+0xFF000000; textview.setTextColor(color);
2.
textView.setTextColor(getResources().getColor(R.color.some_color));
3.
textView.setTextColor(0xffbdbdbd);
4.
textView.setTextColor(Color.parseColor("#bdbdbd"));
5.
textView.setTextColor(Color.argb(a_int, r_int, g_int, b_int));
quelle
1. Standardfarbe u bevorzugen Sie bitte mit unten gehen.
textview.setTextColor(Color.select_color)
2.Wo Sie custwom color verwenden möchten, fügen Sie es in die Datei color.xml ein
textview.setTextColor(getResources().getColor(R.color.textbody));
oder
textView.setTextColor(Color.parseColor("#000000"));
oder
subText.setTextColor(Color.rgb(255,192,0));
quelle
Zum späteren Nachschlagen können Sie Folgendes verwenden:
String color = getString(Integer.parseInt(String.valueOf(R.color.my_color))); my_textView.setTextColor(Color.parseColor(color));
Auf diese Weise können Sie Ihre Farbressourcen nutzen.
quelle
Die Ganzzahl - ID für eine bestimmte Farbe (in XML - Layout definiert) in definierten
R
Klasse kann nicht als Parameter übergeben wirdsetTextColor()
Verfahren zurView
Klasse. Sie müssen den Parameter vonsetTextColor()
durch die folgende Codezeile erhalten:int para=getResources().getColor(R.color.your_color,null); view.setTextColor(para,null);
Die Methode
getColor(int id)
wurde abgeschrieben ... stattdessengetColor(int id,Resources.Theme theme)
wie in der obigen Codezeile verwenden.The `second parameter( theme )` can be null
quelle