android点击的ripple效果

来源:互联网 发布:淘宝轮播图的尺寸 编辑:程序博客网 时间:2024/05/05 02:29

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

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

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="@color/green">    <item  android:drawable="@color/red"/></ripple>

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

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

如下:

<Button    android:id="@+id/dial_btn"    android:layout_width="300dp"    android:layout_height="300dp"    android:background="@drawable/ripple1"/>

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

没有点击的时候

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

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

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


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


有个地方需要注意:

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

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

涟漪范围


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

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

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

没有设置item标签


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

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

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

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

0 0
原创粉丝点击