用两张图片做了个selector,使用ImageView的src或background使用selector点击时,总没出现点击效果搜了好久,发现需要在ImageView的xml中加入android:clickable="true"
(补充,后来发现在不在xml中添加android:clickable="true"也可以,其实在activity中初始化ImageView后,添加点击事件,就会自动出现selector点击效果)
如下:
<ImageView
android:id="@+id/camera_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:clickable="true"
android:background="@drawable/btn_camera_selector" />
即在写selector文件时,默认点击效果的drawable图片(不点击时的效果图片)应该放在最下面,才会有点击效果,不然怎么点都只显示default图片。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/luxiang_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/luxiang" />
</selector>
顺序很重要