android api21及以上引入了控件点击的水波纹效果
1.可以直接给控件设置
android:background="?android:attr/selectableItemBackground"(有边界效果)
或者
android:backgroundTint="?android:attr/selectableItemBackgroundBorderless”(无边界效果)
2、设置selector
drawable中创建selector文件,版本低于21时使用,例如:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <item android:drawable="@color/colorPrimaryDark" android:state_pressed="true" /> <item android:drawable="@color/colorPrimary" /> </selector>
res目录下创建文件夹 drawable-v21 ,并创建xml文件:
<?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/color_half_black"><!-- press和水波纹的颜色 --> <item>
<!--item中可以自定义shape-->< shape android :innerRadius= "5dp" android :shape= "rectangle"> < solid android :color= "@color/colorPrimary" /> < corners android :radius= "5dp" /> </ shape> </ item>
<!--或者直接定义normal(未点击)状态下的颜色--><!--<item android:drawable="@color/colorPrimary" />--></ ripple>
是不是很简单。