2010-09-30 8 views
28

Wenn mein ListViewItem markiert ist, möchte ich den Text weiß werden. Wie kann ich das definieren?Wie definiert man ColorStateList für TextView?

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:color="@color/testcolor1"/> 
    <item android:state_pressed="true" android:state_enabled="false" android:color="@color/testcolor2" /> 
    <item android:state_enabled="false" android:color="@color/testcolor3" /> 
    <item android:color="@color/testcolor5"/> 
</selector> 
+0

Was ist im Code-Snippet? –

+0

Ich bin mir nicht sicher, ob ich verstehe, was du meinst? –

+0

Warum haben Sie den Code veröffentlicht? Was es zeigt? (Wie benutzt man das Zeichenfeld?) –

Antwort

62

Datei erstellen res/ziehbar/text_color.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:state_pressed="false" android:color="#ffffff" /> 
    <item android:state_focused="true" android:state_pressed="true" android:color="#ffffff" /> 
    <item android:state_focused="false" android:state_pressed="true" android:color="#ffffff" /> 
    <item android:color="#000000" /> 
</selector> 

Dann @drawable/text_color aus XML (oder R.drawable.text_color von Code) als Textfarbe für die Listenansicht Artikel.

+0

Danke! kannst du mir ein Beispiel zeigen, wie eine @ drawable/text_color aussehen könnte? –

+1

Etwas wie Android: textColor = "@ Zeichnungs/Textfarbe" auf einem TextView. –

+41

das sollte in res/color gehen – njzk2

0

Zusätzlich zu dem, was andere oben erwähnt haben, möchte ich einen Punkt aus der unten stehenden URL hervorheben.

https://developer.android.com/reference/android/content/res/ColorStateList.html

Hinweis: Die Liste der Zustandsdaten werden gegen in der Reihenfolge abgestimmt sein, dass sie in der XML-Datei angezeigt. Aus diesem Grund sollten spezifischere Elemente früher in der Datei platziert werden. Ein Element ohne Statusspezifikation wird als mit einer beliebigen Gruppe von Zuständen übereinstimmend angesehen und ist im Allgemeinen als endgültiges Element für die Verwendung als Standard nützlich.

Es ist wichtig, dass Sie die breitere Bedingung im Selektor-Tag nach unten haben. Hoffe das hilft!

Verwandte Themen