我试图TextView在用户触摸时更改Android 小部件的背景颜色。为此,我创建了一个选择器,该选择器存储在其中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>
的clickable属性TextView是true,以备不时之需。
当我将此选择器分配给TextViewas时android:background="@color/selector",在运行时出现以下异常:
错误/ AndroidRuntime(13130):由以下原因引起:org.xmlpull.v1.XmlPullParserException:二进制XML文件第6行:标记需要“ drawable”属性或定义可绘制对象的子标记
当我将属性更改为drawable时,它可以工作,但是结果看起来是完全错误的,因为ID似乎被解释为图像参考,而不是颜色参考(如“ drawable”所示)。
令我感到困惑的是,我可以直接将颜色参考(例如“ @ color / black”)设置为background属性。这正在按预期方式工作。使用选择器不起作用。
我也可以将选择器用作textColor没有问题。
将背景颜色选择器应用于TextViewAndroid中的正确方法是什么?
相关分类