注意,对于布局类型的,设置clickable=true
1.不需要使用shape的情况
drawable下新建一个资源文件,在需要的地方setbackground
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/del"/>
<item android:state_pressed="false" android:drawable="@color/main_color"/>
</selector>
2.需要设置圆角等等需要自定义shape的,和1类似,只是里面的drawable="@color"换做@drawable
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:drawable="@drawable/fillet_rectangle_5dp_bg"/>
<item android:state_pressed="true" android:drawable="@drawable/login_shape_two"/>
</selector>
3.textview的点击变色<?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/del"></item>
<item android:color="@color/main_color"/>
</selector>
不能和上面的一样设置,否则颜色会和设定的不一致,原因不详
3.自定义checkbox
设置checkbox @Android:button="@null",而后设置background
backgroud使用的xml文件如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shi_tab" android:state_checked="true"></item>
<item android:drawable="@drawable/fou_tab" android:state_checked="false"></item>
</selector>