RecyclerView的五个开源项目
2016-06-21 16:38
337 查看
转载自:http://www.bkjia.com/Androidjc/1120983.html
RecyclerView相比ListView增加了很多新特性:
但是……,RecyclerView不像ListView那样拥有Header和Footer,因此开发中需要我们自己去实现Header和Foote,另外开发中小伙伴们经常使用的PullToRefresh库暂时又不支持RecyclerView。
现在将GitHub上优秀的Header、Footer、上拉加载和下拉刷新解决方案汇总如下:
(一) SwipeToLoadLayout
GitHub地址:https://github.com/Aspsine/SwipeToLoadLayout
SwipeToLoadLayout支持YouTube、Google、京东等多家APP基于RecyclerView的上拉加载和下拉刷新样式.
TTKatrina:发现里面有废代码,有点乱.
(二) UltimateRecyclerView-大名鼎鼎
GitHub地址:https://github.com/cymcsg/UltimateRecyclerView
UltimateRecyclerView是解决RecyclerView下拉刷新,加载更多,增加头部,显示或隐藏工具栏等许多问题的知名开源框架。
(三) IRecyclerView-效果最炫
GitHub地址:https://github.com/Aspsine/IRecyclerView
IRecyclerView支持RecyclerView下拉刷新,上拉加载,定制Header和Footer。
TTKatrina:体积太大,不适合使用.
(四)PullLoadMoreRecyclerView-属性最全
GitHub地址:https://github.com/WuXiaolong/PullLoadMoreRecyclerView
PullLoadMoreRecyclerView实现了RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果。
TTKatrina:使用了SwipeToLoadLayout.
(五)HeaderAndFooterRecyclerView-封装完善
GitHub地址:https://github.com/cundong/HeaderAndFooterRecyclerView
HeaderAndFooterRecyclerView是支持addHeaderView、 addFooterView、分页加载的RecyclerView解决方案。它可以对 RecyclerView 控件进行拓展(通过RecyclerView.Adapter实现),给RecyclerView增加HeaderView、FooterView,并且不需要对你的具体业务逻辑Adapter做任何修改。同时,通过修改 FooterView State,可以动态 FooterView 赋予不同状态(加载中、加载失败、滑到最底等),可以实现 RecyclerView 分页加载数据时的 Loading/TheEnd/NetWorkError 效果。
(六)BaseRecyclerViewAdapterHelper
GitHub地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper
优化Adapter代码(减少百分之70%代码)
添加点击item点击、长按事件、以及item子控件的点击事件
添加加载动画(一行代码轻松切换5种默认动画)
添加头部、尾部、下拉刷新、上拉加载(感觉又回到ListView时代)
设置自定义的加载更多布局
添加分组(随心定义分组头部)
自定义不同的item类型(简单配置、无需重写额外方法)
设置空布局(比Listview的setEmptyView还要好用!)
参考阅读:
Android RecyclerView 使用完全解析 体验艺术般的控件
Android 自定义RecyclerView 实现真正的Gallery效果
A First Glance at Android’s RecyclerView
gabrielemariotti/RecyclerViewItemAnimators
DividerItemDecoration
Google为什么不为Android中的RecyclerView添加Item的点击监听器?
RecyclerView相比ListView增加了很多新特性:
Adapter中的ViewHolder模式- 对于ListView来说,通过创建ViewHolder来提升性能并不是必须的。因为ListView并没有严格的ViewHolder设计模式。但是在使用RecyclerView的时候,Adapter必须实现至少一个ViewHolder,必须遵循ViewHolder设计模式。
定制Item条目- ListView只能实现垂直线性排列的列表视图,与之不同的是,RecyclerView可以通过设置RecyclerView.LayoutManager来定制不同风格的视图,比如水平滚动列表或者不规则的瀑布流列表。
Item动画- 在ListView中没有提供任何方法或者接口,方便开发者实现Item的增删动画。相反地,可以通过设置RecyclerView的RecyclerView.ItemAnimator来为条目增加动画效果。
设置数据源- 在LisView中针对不同数据封装了各种类型的Adapter,比如用来处理数组的ArrayAdapter和用来展示Database结果的CursorAdapter。相反地,在RecyclerView中必须自定义实现RecyclerView.Adapter并为其提供数据集合。
设置条目分割线- 在ListView中可以通过设置android:divider属性来为两个Item间设置分割线。如果想为RecyclerView添加此效果,则必须使用RecyclerView.ItemDecoration,这种实现方式不仅更灵活,而且样式也更加丰富。
设置点击事件- 在ListView中存在AdapterView.OnItemClickListener接口,用来绑定条目的点击事件。但是,很遗憾的是在RecyclerView中,并没有提供这样的接口,不过,提供了另外一个接口RcyclerView.OnItemTouchListener,用来响应条目的触摸事件。
但是……,RecyclerView不像ListView那样拥有Header和Footer,因此开发中需要我们自己去实现Header和Foote,另外开发中小伙伴们经常使用的PullToRefresh库暂时又不支持RecyclerView。
现在将GitHub上优秀的Header、Footer、上拉加载和下拉刷新解决方案汇总如下:
(一) SwipeToLoadLayout
GitHub地址:https://github.com/Aspsine/SwipeToLoadLayout
SwipeToLoadLayout支持YouTube、Google、京东等多家APP基于RecyclerView的上拉加载和下拉刷新样式.
TTKatrina:发现里面有废代码,有点乱.
(二) UltimateRecyclerView-大名鼎鼎
GitHub地址:https://github.com/cymcsg/UltimateRecyclerView
UltimateRecyclerView是解决RecyclerView下拉刷新,加载更多,增加头部,显示或隐藏工具栏等许多问题的知名开源框架。
(三) IRecyclerView-效果最炫
GitHub地址:https://github.com/Aspsine/IRecyclerView
IRecyclerView支持RecyclerView下拉刷新,上拉加载,定制Header和Footer。
TTKatrina:体积太大,不适合使用.
(四)PullLoadMoreRecyclerView-属性最全
GitHub地址:https://github.com/WuXiaolong/PullLoadMoreRecyclerView
PullLoadMoreRecyclerView实现了RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果。
TTKatrina:使用了SwipeToLoadLayout.
(五)HeaderAndFooterRecyclerView-封装完善
GitHub地址:https://github.com/cundong/HeaderAndFooterRecyclerView
HeaderAndFooterRecyclerView是支持addHeaderView、 addFooterView、分页加载的RecyclerView解决方案。它可以对 RecyclerView 控件进行拓展(通过RecyclerView.Adapter实现),给RecyclerView增加HeaderView、FooterView,并且不需要对你的具体业务逻辑Adapter做任何修改。同时,通过修改 FooterView State,可以动态 FooterView 赋予不同状态(加载中、加载失败、滑到最底等),可以实现 RecyclerView 分页加载数据时的 Loading/TheEnd/NetWorkError 效果。
(六)BaseRecyclerViewAdapterHelper
GitHub地址:https://github.com/CymChad/BaseRecyclerViewAdapterHelper
优化Adapter代码(减少百分之70%代码)
添加点击item点击、长按事件、以及item子控件的点击事件
添加加载动画(一行代码轻松切换5种默认动画)
添加头部、尾部、下拉刷新、上拉加载(感觉又回到ListView时代)
设置自定义的加载更多布局
添加分组(随心定义分组头部)
自定义不同的item类型(简单配置、无需重写额外方法)
设置空布局(比Listview的setEmptyView还要好用!)
参考阅读:
Android RecyclerView 使用完全解析 体验艺术般的控件
Android 自定义RecyclerView 实现真正的Gallery效果
A First Glance at Android’s RecyclerView
gabrielemariotti/RecyclerViewItemAnimators
DividerItemDecoration
Google为什么不为Android中的RecyclerView添加Item的点击监听器?
相关文章推荐
- Linux常用命令汇总-head
- linux系统之上搭建maven 之nexus服务篇
- Happy Number(C++)
- IEnumerable,ICollection,IList,List之间的区别
- Android内存优化大全(中)
- Spring3.2.0之后各个版本完整包下载地址
- Java函数参数类型后添加三点的含义与用法
- python 中判断变量是否定义方法
- Spring注解@Autowired 和@Resource的区别
- C002-CPP-函数集合
- MySQL基础操作
- u3d native render
- WGS84坐标系转火星坐标系
- 《Spring实战》学习笔记-第六章:web视图解析
- ffmpeg android 移植编译出现的问题,求解
- 【问题排查记录】Field 'id' doesn't have a default value;
- 对比Python中__getattr__和 __getattribute__获取属性的用法
- Win10怎么“关闭下载游戏信息”
- oralce有关建表,建序列,建触发器,建存储过程,建job定时任务小例子,仅供本人参考
- [Java学习] 对Java的面对对象编程中对象和引用以及内部类的理解