多达288种动态效果的侧滑菜单开源库
本篇来自 Brioal 的投稿,给大家分享了他自己的多效果侧滑菜单开源库。话不多说,开篇即是高能!多图来袭,小心自己的流量
Brioal 的博客地址:
http://blog.****.net/qq_26971803
实现效果的总览:
单独效果的演示:
位移动画演示:
缩放动画演示:
透明度动画演示:
旋转动画演示:
全局图片沉浸演示:
动态模糊演示:
单一的动画就演示完了,下面演示几组组合动画:
好了,就演示这么多了,因为组合动画太多了,演示不完的。
简单计算一下:
3种位移动画*2种缩放动画*2种透明动画*6种旋转动画,3种图片背景效果=288种,另外包括 缩放、透明度、3D旋转、动态模糊 都能设置范围,所以可定制的效果就更多了。
接下来就该介绍一下使用方法:
用于测试的Demo上演示了很多效果,同时动态的显示了当前效果要进行的代码设置方法,同时还包含一些小提示,建议您先下个Demo先看看:
http://www.brioal.cn/apks/SwipeMenuDemo.apk
xml布局文件中的使用方法:
布局文件非常简单,包含两个xml布局,上边的是菜单布局,下边的是内容布局。
如果是最简单的使用那么这样设置已经足够了,默认的是固定不动的滑动方式。
如果要对滑动的参数和效果进行定制,那么可以看一下资源文件中的设置(都有注释,理解起来不难)。
关于动画代码这里解释一下:
为了方便定制动画效果,用一个4位数字来表示不同的动画组合,个位代表的旋转动画效果序号,十位代表透明度动画效果,千位代表缩放动画效果,万位代表位移动画效果,各个位置的起始都是1,有几种动画效果上限就是多少,比如位移动画有三种,则万位的范围就为1~3,其他依次类推。
注:因为背景,模糊效果会引入多余的组件,所以只在需要的时候添加进去,故不包含在动画代码中,设置方式下面再说。
再贴一个xml属性与代码的实现表格:
手机点击放大或者通过原文查看清晰图片
提供的方法就这么多,也不难理解,这里再说一点注意事项:
默认是不设置全局背景或者颜色的,所以如果需要 全局颜色沉浸 和 背景沉浸 请做相关设置,两种沉浸都兼容到4.4。
-
全局颜色支持动态更换,全局图片背景不支持,当时想的是应该没有这种需求,当然如果有的话可以跟我反馈我会添加。
旋转动画其实就一个3D旋转效果比较好,其他的都是瞎添的,如果要用的话建议和透明度动画一起使用,可防止卡顿(单独用中心旋转卡顿明显,毕竟绘图的代价摆在那)。
为了方便同学们对效果进行设置,我在演示Demo中添加了参数设置显示的效果,就在 RecyclerView 的 第一个Item,并且是可以动态更改的,当前的效果需要如何设置参数全部在上面显示出来了。
另外用 RecyclerView 来显示提示的另一个目的是演示滑动冲突的处理,默认的是菜单和内容都是可以处理横向纵向的滑动操作的,只有当滑动在靠近菜单内容交集点的时候才会触发滑动。当然也可以设置全屏滑动和设置触发的范围,具体方法查看上面表格内的方法,这里就不重复了。
最后介绍如何添加依赖库:
Android Studio 的话跟其他库一样,在你们 App 的 build.gradle 内的 dependencies 下添加:
compile 'com.brioal:SwipeMenu:1.0'
或者可以 下载Demo提取module 添加:
Demo代码已上传 Github,地址:
SwipeMenuDemo
https://github.com/Brioal/SwipeMenuDemo
如果觉得我写的东西多多少少有一点可取之处,可以star一下,多的话也能写到简历装一下是吧~~
差点忘了,本库用到的一些代码片段来自网络,贴一下地址,感谢大神的代码:
沉浸状态栏
https://github.com/laobie/StatusBarUtil
《教你一分钟实现动态模糊效果》
(推送过的文章可直接点击)
如果你有好的技术文章想和大家分享,欢迎向我的公众号投稿,投稿具体细节请在公众号主页点击“投稿”菜单查看。
欢迎长按下图 -> 识别图中二维码或者扫一扫关注我的公众号: