我试图改变Android TextView小部件的背景颜色,当用户触摸它。我为此创建了一个选择器,它存储在res / color / selector.xml中,大致如下:
android:state_pressed="true"
android:color="@color/semitransparent_white"
/>
android:color="@color/transparent"
/>
TextView的clickable属性为true,以防感兴趣。
当我将这个选择器分配给一个TextView作为android:background =“@ color / selector”,我在运行时得到以下异常:
ERROR/AndroidRuntime(13130): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #6: tag requires a ‘drawable’ attribute or child tag defining a drawable
当我将属性改为drawable时,它的工作原理,但结果是看起来完全错误,因为ID似乎被解释为图像引用,而不是颜色引用(如“drawable”建议)。
让我困惑的是,我可以设置一个颜色参考,例如。 “@ color / black”,作为背景属性直接。这是按预期工作。使用选择器不工作。
我也可以使用选择器作为textColor没有问题。
在Android中将背景颜色选择器应用于TextView的正确方法是什么?