我有一个带有drawableEnd的EditText。我想在按下它时更改这个drawable。我已经创建了选择器,但现在没有可见的图像。是否有可能以这种方式做或者我做错了什么?
布局
<EditText
android:drawableEnd="@drawable/selector"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
选择
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/image_on"
android:state_enabled="true"
android:state_pressed="true"/>
<item
android:drawable="@drawable/image_off"
android:state_enabled="true"/>
</selector>
答案 0 :(得分:1)
您的选择器似乎错了,您必须在一个项目中声明一个语句。你为state_enabled =&#34; true&#34;设置了两个项目。它必须是:
<item
android:drawable="@drawable/pressed_image"
android:state_pressed="true"/>
<item
android:drawable="@drawable/image_on"
android:state_enabled="true"/>
<item
android:drawable="@drawable/image_off"
android:state_enabled="false"/>
而且,我发现很长一段时间,声明的顺序也很重要。调用错误的订单有时会导致无效....