2010-09-30 17 views
28

Cuando se resalta mi ListViewItem, quiero que el texto se vuelva blanco. ¿Cómo puedo definir esto?¿Cómo se define ColorStateList para 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

¿Qué hay en el fragmento de código? –

+0

No estoy seguro de entender lo que quieres decir? –

+0

¿Por qué publicó el código? ¿Qué muestra? (¿cómo se usa el drawable?) –

Respuesta

62

Crear res archivo/estirable/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> 

A continuación, utilice @drawable/text_color de XML (o R.drawable.text_color de código) como el color del texto para los elementos de lista.

+0

Gracias! ¿Puedes mostrarme un ejemplo de cómo se vería un @ drawable/text_color? –

+1

Algo parecido a android: textColor = "@ drawable/text_color" en un TextView. –

+41

que debería ir en res/color – njzk2

0

Además de lo que otros han mencionado anteriormente, me gustaría destacar un punto, tomado de la siguiente URL.

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

Nota: La lista de especificaciones estatales se comparará con el orden en que aparecen en el archivo XML. Por este motivo, los elementos más específicos deben colocarse antes en el archivo. Se considera que un artículo sin especificación de estado coincide con cualquier conjunto de estados y, en general, es útil como un elemento final que se utilizará como valor predeterminado.

Es importante que tenga la condición más amplia hacia la parte inferior en la etiqueta del selector. ¡Espero que esto ayude!