android点击的ripple效果

android的ripple点击效果很好看,怎么自定义点击呢?
我们来看看

示例:
在drawable文件夹中添加xml文件,比如娶个名字:ripple1.xml



    

这里的< item>标签是没有点击的时候显示的内容,可以添加多个< item>标签

然后在可点击的控件中设置background属性

如下:

当没有点击的时候显示的是这样的


android点击的ripple效果_第1张图片
没有点击的时候

当我们点击的时候是这样的


android点击的ripple效果_第2张图片
点击的时候

在点击的位置会有我们设置的android:color="@color/green"逐渐扩散(#ff00ff00),

看周围这清爽的屎绿色,会在我们刚刚点击的时候就出现,布满整个View,这个屎绿色其实是系统自动生成的,它其实就是android:color="@color/green"这个颜色设置了透明度的颜色,透明度具体多少我不清楚啦


最后涟漪扩散到全部是这样的:


android点击的ripple效果_第3张图片
完全扩散的模样

有个地方需要注意:

如果设置了< item>标签,则涟漪就只会扩散在< item>显示的地方

如下图,下图< item>是个圆形,则涟漪不会超过圆形的范围

android点击的ripple效果_第4张图片
涟漪范围

但有个特例,就是没有设置< item>标签的时候:

涟漪会以view的中心点为原点,扩散在直径为view对角线的圆上.

也就是说有部分会超出view限定的范围,具体看图:

android点击的ripple效果_第5张图片
没有设置item标签

最后关于涟漪扩散的速度:

无论点击在view的哪个位置,涟漪总是在相同的时间抵达到view的四个角.

所以会出现涟漪移动速度不均匀的情况

注意:只有api>=21才能使用ripple效果

你可能感兴趣的:(android点击的ripple效果)