我试图在用户touch Android TextView
小部件时更改其背景色.我为此创建了一个 Select 器,它存储在res/color/selector.xml
中,大致如下所示:
<?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>
如果需要的话,TextView
的clickable
属性是102.
当我将这个 Select 器分配给TextView
as android:background="@color/selector"
时,我在运行时得到以下异常:
错误/AndroidRuntime(13130):原因:org.拉.v1.XmlPullParserException:二进制XML文件行#6:tag需要一个"drawable"属性或定义drawable的子标记
当我将属性更改为drawable时,它可以工作,但结果看起来完全错误,因为ID似乎被解释为图像引用,而不是 colored颜色 引用(如"drawable"所示).
让我困惑的是,我可以直接将 colored颜色 引用设置为背景属性,例如"@color/black".这是工作的预期.使用 Select 器不起作用.
我也可以将 Select 器用作textColor
而不会出现问题.
What's the correct way to apply a background-color-selector to a 100 in Android?