Selector de color de fondo de TextView
Estoy intentando cambiar el color de fondo de un AndroidTextView
widget cuando el usuario lo toca. He creado un selector para ese propósito, que se almacena enres/color/selector.xml
y más o menos así:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="@color/semitransparent_white"
/>
<item
android:color="@color/transparent"
/>
</selector>
losclickable
atributo de laTextView
estrue
, en caso de que sea de interés.
Cuando asigno este selector a unTextView
comoandroid:background="@color/selector"
, Obtengo la siguiente excepción en tiempo de ejecución:
ERROR / AndroidRuntime (13130): Causado por: org.xmlpull.v1.XmlPullParserException: línea de archivo XML binario # 6: la etiqueta requiere un atributo 'dibujable' o etiqueta secundaria que defina un dibujable
Cuando cambio el atributo a dibujable, funciona, pero el resultado parece completamente incorrecto porque los ID parecen interpretarse como referencias de imagen en lugar de referencias de color (como sugiere el "dibujable").
Lo que me confunde es que puedo establecer una referencia de color, p. "@ color / black", como el atributo de fondo directamente. Esto está funcionando como se esperaba. Usar selectores no funciona.
También puedo usar el selector comotextColor
sin problemas.
¿Cuál es la forma correcta de aplicar un selector de color de fondo a unTextView
en Android