<item android:drawable="@drawable/chiduole_big" android:state_pressed="true"/>
<item android:drawable="@drawable/chiduole"/>
这是@ drawable / image_selector
xml代码
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image_selector"
/>
答案 0 :(得分:2)
你的代码很好。您只需在ImageView中添加android:clickable="true
和android:focusable="true"
,或将其与LinearLayout.setClickable(true);
等代码结合使用。
也许你的image_selector
应该如下所示:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/chiduole_big"
android:state_focused="true" />
<item
android:drawable="@drawable/chiduole_big"
android:state_pressed="true" />
<item android:drawable="@drawable/@drawable/chiduole" />
</selector>
我看到你做错了什么。你已宣布android:onClick="true"
; onClick
内部的内容是一个方法而不是布尔值。所以,你可以这样做:
<ImageView android:onClick="MyMethod"
android:focusable="true"
android:clickable="true"
android:id="@+id/iv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image_selector" />
然后,在Java中,您应该使用以下内容:
ImageView iv = (ImageView) findViewById(R.id.iv1);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyMethod(v);
}
});
public void MyMethod(View v) {
// Your Code
}
答案 1 :(得分:0)
尝试将android:clickable="true"
放入ImageView
答案 2 :(得分:0)
xml代码:
<ImageView
android:clickable="true"
android:focusable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image_selector"
/>
image_selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/chiduole_big"
android:state_focused="true"
/>
<item
android:drawable="@drawable/chiduole_big"
android:state_pressed="true"
/>
<item android:drawable="@drawable/chiduole" />
</selector>
它不起作用