这是我的选择器:
现在的问题是,当我点击ImageView时,对应的状态drawable图像不会改变。我已经在其他小部件上尝试过了,也不起作用。我想不出为什么,因为我之前是用同样的方法做的,而且它是有效的。
当ImageView被点击时,我监视了它的状态。
v.hasFocus():false,v.isClickable():true,v.isInTouchMode():true,v.isEnabled():true,v.isPressed():true
我犯了一个可怕的错误,white_small_down_arrow_v4和white_small_up_arrow_v4实际上指向同一个方向,换句话说,它们是相同的图片。
所以,如果发现选择器无法正常工作,首先要检查状态可绘制是否相同...我的错误可能会帮助其他人。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/white_small_down_arrow_v4" android:state_pressed="true"/>
<item android:drawable="@drawable/white_small_up_arrow_v4" android:state_focused="false"/>
<item android:drawable="@drawable/white_small_up_arrow_v4" /> <!-- default -->
</selector>
这是我在 ImageView 上应用它的方法:
<ImageView
android:id="@+id/change_city_small_down_ImageView"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/changeCityRelativeLayout"
android:layout_marginLeft="5dp"
android:background="@drawable/change_city_selector"
</ImageView>
现在的问题是,当我点击ImageView时,对应的状态drawable图像不会改变。我已经在其他小部件上尝试过了,也不起作用。我想不出为什么,因为我之前是用同样的方法做的,而且它是有效的。
当ImageView被点击时,我监视了它的状态。
v.hasFocus():false,v.isClickable():true,v.isInTouchMode():true,v.isEnabled():true,v.isPressed():true
我犯了一个可怕的错误,white_small_down_arrow_v4和white_small_up_arrow_v4实际上指向同一个方向,换句话说,它们是相同的图片。
所以,如果发现选择器无法正常工作,首先要检查状态可绘制是否相同...我的错误可能会帮助其他人。