参考:http://www.tuicool.com/articles/NFr6jie
水波纹扩散效果是Android5.0之后实现的,当 minSdkVersion在21及以上时,selector自带ripple tag,当点击效果为此selector时,系统会自动为水波纹效果。
代码:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#FF21272B">
<item>
<shape android:shape="rectangle">
<solid android:color="#FFFFFF" />
<corners android:radius="4dp" />
</shape>
</item>
<item android:drawable="@drawable/rounded_corners" />
</ripple>
最后的item为button的样式,color为水波纹的颜色。
当build.gradle的最低版本不是21时,不做任何改动,会报错。
此时,应当新建drawable-v21文件夹来存放水波纹的selector,在之前的drawable中存放同名的不实现水波纹的selector。编译时,会根据版本自动进行选择。即,5.0以上水波纹,以下为其他效果。