2011-01-07 16 views
3

Ich muss die Hintergrundfarbe eines TextView ändern.Ändern der Hintergrundfarbe von TextView on Click

die Schriftfarbe mit ColorStateList was kann ich ändern, aber die Hintergrundfarbe nicht akzeptiert ColorStateList

lblEtiqueta.setTextColor (new ColorStateList (
new int [] [] { 
new int [] {android.R.attr.state_pressed} 
new int [] {android.R.attr.state_focused} 
new int [0] 
}, new int [] { 
Color.rgb (255, 128, 192), 
Color.rgb (100, 200, 192), 
Color.White, 
} 
)); 

, wie die Hintergrundfarbe zu machen?

Das TextView-Steuerelement wird zur Laufzeit dynamisch erstellt.

Vielen Dank im Voraus.

Antwort

2

Sie müssen den backgroundDrawable für die TextView festlegen. Ich habe nur meine Länderlisten in XML getan und es wäre so etwas wie diese:

<?xml version="1.0" encoding="utf-8" ?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <color android:color="#00ff00" /> 
    </item> 
    <!-- And so on --> 
</selector> 

Von dem, was ich verstehe, aus der Dokumentation, wenn Sie die Landesliste in Java-Code tun mögen, müssen Sie die verwenden StateListDrawable

+0

Hallo, funktioniert perfekt, vielen Dank csaunders – seba123neo

+0

Arg. Ich wusste nicht, dass der Rest meiner Antwort abgehackt wurde. Ich habe die notwendigen Änderungen hinzugefügt, wenn Sie es in Java-Code tun möchten. – csaunders

Verwandte Themen