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>![]()
是不是很简单。