Android 5.0新特性了解(二)----RippleEffect
1、本文介绍的是Android5.0中其中一个炫酷的效果,点击水波纹扩散效果( RippleEffect),以下介绍的实现方式都是调用Android5.0的新API,并非自定义实现,所以支持在Android5.0的设备,而大家想兼容低系统版本的话,就需要新建v21(即Android5.0)的Resource Directory.
效果如下:(ps:由于公司这台机子的模拟器跑不起来,只好在网上copy别人的效果了)
2,定义一个普通圆角背景的rounded_corners.xml
1 2 3 4 5 6 | <?xml version= "1.0" encoding= "utf-8" ?> <shape xmlns:android= "http://schemas.android.com/apk/res/android" android:shape= "rectangle" > <solid android:color= "#FFFFFF" /> <corners android:radius= "4dp" /> </shape> |
3,创建一个ripple_bg.xml
1 2 3 4 5 6 7 8 9 10 11 | <?xml version= "1.0" encoding= "utf-8" ?> <ripple xmlns:android= "http://schemas.android.com/apk/res/android" android:color= "#FF21272B" > <item> <shape android:shape= "rectangle" > <solid android:color= "#FFFFFF" /> <corners android:radius= "4dp" /> </shape> </item> <item android:drawable= "@drawable/rounded_corners" /> </ripple> |
4,直接在要使用这个效果的控件上的地方填上如下代码:
1 | android:background= "@drawable/ripple_bg" |
补充:当你使用了Material主题后,波纹动画会自动应用在所有的控件上,我们当然可以来设置其属性来调整到我们需要的效果。可以不使用以上代码来实现,直接在要实现这个效果的控件上添加一下代码:
1 2 3 | android:background= "?android:attr/selectableItemBackground" 波纹有边界 android:background= "?android:attr/selectableItemBackgroundBorderless" 波纹超出边界 |
效果如下(第一个是什么都没写,使用默认的):
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步