您的位置:首页 > 移动开发 > Android开发

android RippleDrawable讲解

2017-02-24 15:56 393 查看

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”
shapeandroid:drawable=”@drawable/shape”
selectorandroid: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息