在 5.0 后加入了 ripple
标签,使用这个 Drawable 做控件的背景,在点击的时候就可以达到 波浪的效果。
ripple 标签对应的是一个 rippleDrawable ,当使用它作为背景的时候,在控件按下去的时候,就会显示水波效果。
ripple 主要有两种形式
-
没有边界的 ripple
这种没有边界的 ripple 只需要设置 ripple color 属性就行了,不用给它添加 itme
-
有边界的 ripple
这种有边界的需要给 ripple 添加一个 itme ,item 可以是 图片、纯颜色、shape 、selector。注意如果想控件在不被点击的时候背景不显示,这个时候需要给 item 设置 id = @android:id/mask 否则控件的背景就是 item 的资源了。
在 5.0 之前 forground = ?attr/selectableItemBackground 可以实现波纹效果