1、如何设置波纹效果

// 波纹有边界

android:background="?android:attr/selectableItemBackground"
// 波纹超出边界
android:background="?android:attr/selectableItemBackgroundBorderless"

注意:

波纹有边界是指波纹被限制在控件的边界中,而波纹超出边界则是波纹不会限制在控件边

界中,会呈圆形发散出去

2、创建具有ripple效果的xml文件(自定义ripple的动画,可以设置颜色等)

<?xmlversion="1.0" encoding="utf-8"?>
<ripplexmlns:android="http://schemas.android.com/apk/res/android"
<span style="white-space:pre"> </span>android:color="@android:color/holo_blue_bright">
<span style="white-space:pre"> </span><item>
<span style="white-space:pre"> </span><shape<span style="white-space:pre"> </span>
<span style="white-space:pre">			</span>android:shape="rectangle">
<span style="white-space:pre"> </span><solidandroid:color="#34495e" />
<span style="white-space:pre"> </span></shape>
<span style="white-space:pre"> </span></item>
</ripple>

说明:

1、android:color="@android:color/holo_blue_bright">对应的颜色是点击后波纹的 颜色

2、solid对应的颜色是背景原来的颜色

3、注意:

1、ripple属性在控件的长和宽都设置成wrap_content时不会有效果

2、view的长点击事件会在ripple效果结束后发生

3、Ripple的xml文件要建在drawable目录下,引用的时候@drawable/就好了

05-08 08:34