android RippleDrawable讲解

来源:互联网 发布:linux ftp命令 编辑:程序博客网 时间:2024/05/16 11:05

1 RippleDrawable简介

Ripple是涟漪的意思,那么RippleDrawable的作用:当按下的时间,就会出现水波纹的效果。

2 RippleDrawable使用

RippleDrawable使用总体分有边框和无边框二类:

2.1 无边界限制样式

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="#FF0000" > </ripple>

2.2 有边界限制样式

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"        android:color="#FF0000" >    <item android:id="@android:id/mask"         android:drawable="@android:color/white" /></ripple>

比较于无边框的样式,我们发现在一个ripple标签中,添加一个item,其id为@android:id/mask,则水波效果会限定在drawable对应的RippleDrawable本身矩形区域内部。

2.3 有边框样式的延伸

在有边框的样式中我们对android:drawable扩展可以添加如下数据:

样式 代码 颜色 android:drawable=”@android:color/white” 图片 android:drawable=”@drawable/icon_launcher” shape android:drawable=”@drawable/shape” selector android:drawable=”@drawable/selector”

这里我们对shape和selector的代码展示一下:
添加shape:

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="#FF0000" >    <item>       <shape android:shape="rectangle">           <solid android:color="#ff9d77"/>           <corners android:bottomRightRadius="100dp"/>       </shape>   </item></ripple>

添加selector:

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="#FF0000" >    <item>        <selector>            <item                android:drawable="@drawable/icon_folder_i"                android:state_pressed="true">            </item>            <item                android:drawable="@drawable/icon_folder_r"                android:state_pressed="false">            </item>        </selector>    </item></ripple>

2.4 效果图

这里的效果图我就不展示了,请参考这位大神的文章

3 结尾

好了就讲到这里吧,在技术上我依旧是个小渣渣。

加油!勉励自己!

4 参考文档

【1】Android L Ripple的使用这里写链接内容
【2】官网-RippleDrawable

0 0
原创粉丝点击