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” |
shape | android:drawable=”@drawable/shape” |
selector | android:drawable=”@drawable/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
相关文章推荐
- java.lang.ClassNotFoundException: android.graphics.drawable.RippleDrawable
- Android中drawable各个属性讲解
- android Drawable资源讲解
- [Android] RippleDrawable
- Android Api demo系列(24) (Graphics>RoundRects(讲解的是GradientDrawable的使用))
- Android中的各种Drawable讲解(慕课笔记)
- Android RippleDrawable 水波纹/涟漪效果的实现
- AndroidMaterialDesign动画之RippleDrawable
- Android shape drawable 讲解
- Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.supp
- Android5.x:RippleDrawable + CardView
- 解决Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.su
- Android的各种Drawable讲解
- Android的各种Drawable讲解
- Android Drawable之 Ripple的使用
- Android Drawable绘图学习笔记
- Android2.1中的 drawable(hdpi,ldpi,mdpi) 的区别
- Android Drawable绘图学习笔记
- Android Intent Filter应用方式讲解
- android中drawable转bitmap的两种方法