安卓学习笔记---RecyclerView的五大开源项目-解决办法
2016-07-26 18:06
633 查看
RecyclerView的五大开源项目-解决办法
好的东西就分享一下尊重原创:
转载地址:
http://www.2cto.com/kf/201604/499601.html
首先介绍下RecyclerView,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。和身边的很多小伙们一样,我也陷入了困境,为了不拖累项目进度,我决定亲自解(shi)决(yong)难(kai)题(yuan),做一个伸手党。
?
GitHub地址:https://github.com/Aspsine/SwipeToLoadLayout
?
? ListView & GridView
中关村软件学院web前端培训
【点击进入】
web前端培训,0基础入学,名师小班授课.
线上线下1:1同步教学,保证月薪8000起。
查 看
? RecyclerView(With all kinds of layoutManagers)
中关村软件学院web前端培训
【点击进入】
web前端培训,0基础入学,名师小班授课.
线上线下1:1同步教学,保证月薪8000起。
查 看
? WebView & ScrollView & Other Views
中关村软件学院web前端培训
【点击进入】
web前端培训,0基础入学,名师小班授课.
线上线下1:1同步教学,保证月薪8000起。
查 看
? Google SwipeRefreshLayout style
中关村软件学院web前端培训
【点击进入】
web前端培训,0基础入学,名师小班授课.
线上线下1:1同步教学,保证月薪8000起。
查 看
? 京东style
? Yalantis Phoenix 样式
AndroidStudio配置方法
第一步:在你的build.gradle添加JitPack库在
repositories {
maven { url “https://jitpack.io” }
}
第二部:添加依赖库
dependencies {
compile ‘com.github.Aspsine:SwipeToLoadLayout:v1.0.2’
}
GitHub地址:https://github.com/cymcsg/UltimateRecyclerView
?
包含特性如下:
? Swipe to refresh(using android.support.v4.widget.SwipeRefreshLayout)
? Many kinds of animations
? Swipe to dismiss
? Parallax or normal head view
? Drag and drop items
? Loading more when reach the last item(infinite scrolling)
? Custom views in loading more
? Showing or hiding toolbar and floating button when scrolling
? Scrollbars
? Colorful styles of swipe to refresh
? Sticky header like instagram
? Support different layout in adapter
? Loading adapter with animation
使用效果如下:
AndroidStudio配置方法
第一步:在你的build.gradle添加库
?
第二步:添加依赖库
?
第三步:布局文件中使用方法
?
GitHub地址:https://github.com/Aspsine/IRecyclerView
?
包含特性如下:
? pull-to-refresh
? pull-to-loadmore
? customize refresh header
? customize loadmore footer
? add multiple header view
? add multiple footer view
使用效果如下:
刷新效果
AndroidStudio配置方法
第一步:在你的build.gradle添加库
?
第二步:添加依赖库
?
第三步:布局文件中使用方法
?
第四步:Activity/Fragment中使用
?
GitHub地址:https://github.com/WuXiaolong/PullLoadMoreRecyclerView
?
效果图如下:
使用方法
build.gradle文件
?
xml引用
?
设置线性布局
?
设置网格布局
?
设置交错网格布局,即瀑布流效果
?
绑定适配器
?
调用下拉刷新和加载更多
?
刷新结束
?
不需要下拉刷新
?
不需要上拉刷新
?
设置上拉刷新文字
?
设置下拉刷新颜色
?
快速Top
?
GitHub地址:https://github.com/cundong/HeaderAndFooterRecyclerView
?
? 添加HeaderView、FooterView
mHeaderAndFooterRecyclerViewAdapter = new HeaderAndFooterRecyclerViewAdapter(mDataAdapter);
mRecyclerView.setAdapter(mHeaderAndFooterRecyclerViewAdapter);
?
? LinearLayout/GridLayout/StaggeredGridLayout布局的RecyclerView分页加载
mRecyclerView.addOnScrollListener(mOnScrollListener);
private EndlessRecyclerOnScrollListener mOnScrollListener = new EndlessRecyclerOnScrollListener() {
?
注意事项
?
? 添加HeaderView、FooterView
? 支持分页加载的LinearLayout布局RecyclerView<喎�"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="这里写图片描述" src="/uploadfile/Collfiles/20160416/20160416091632342.png" title="\" />
? 支持分页加载的GridLayout布局RecyclerView
? 支持分页加载的StaggeredGridLayout布局RecyclerView
? 分页加载失败时的GridLayout布局RecyclerView
以上就是GitHub中比较好的RecyclerView开源框架,希望能对小伙伴们的开发带来帮助,更感谢这些作者们提供了这么好的东西!
好的东西就分享一下尊重原创:
转载地址:
http://www.2cto.com/kf/201604/499601.html
? 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。和身边的很多小伙们一样,我也陷入了困境,为了不拖累项目进度,我决定亲自解(shi)决(yong)难(kai)题(yuan),做一个伸手党。
?
(一) SwipeToLoadLayout-推荐使用
GitHub地址:https://github.com/Aspsine/SwipeToLoadLayout?
中关村软件学院web前端培训
【点击进入】
web前端培训,0基础入学,名师小班授课.
线上线下1:1同步教学,保证月薪8000起。
查 看
? RecyclerView(With all kinds of layoutManagers)
中关村软件学院web前端培训
【点击进入】
web前端培训,0基础入学,名师小班授课.
线上线下1:1同步教学,保证月薪8000起。
查 看
? WebView & ScrollView & Other Views
中关村软件学院web前端培训
【点击进入】
web前端培训,0基础入学,名师小班授课.
线上线下1:1同步教学,保证月薪8000起。
查 看
? Google SwipeRefreshLayout style
中关村软件学院web前端培训
【点击进入】
web前端培训,0基础入学,名师小班授课.
线上线下1:1同步教学,保证月薪8000起。
查 看
? 京东style
? Yalantis Phoenix 样式
AndroidStudio配置方法
第一步:在你的build.gradle添加JitPack库在
repositories {
maven { url “https://jitpack.io” }
}
第二部:添加依赖库
dependencies {
compile ‘com.github.Aspsine:SwipeToLoadLayout:v1.0.2’
}
(二) UltimateRecyclerView-大名鼎鼎
GitHub地址:https://github.com/cymcsg/UltimateRecyclerView?
? Swipe to refresh(using android.support.v4.widget.SwipeRefreshLayout)
? Many kinds of animations
? Swipe to dismiss
? Parallax or normal head view
? Drag and drop items
? Loading more when reach the last item(infinite scrolling)
? Custom views in loading more
? Showing or hiding toolbar and floating button when scrolling
? Scrollbars
? Colorful styles of swipe to refresh
? Sticky header like instagram
? Support different layout in adapter
? Loading adapter with animation
使用效果如下:
AndroidStudio配置方法
第一步:在你的build.gradle添加库
?
?
?
(三) IRecyclerView-效果最炫
GitHub地址:https://github.com/Aspsine/IRecyclerView?
? pull-to-refresh
? pull-to-loadmore
? customize refresh header
? customize loadmore footer
? add multiple header view
? add multiple footer view
使用效果如下:
刷新效果
AndroidStudio配置方法
第一步:在你的build.gradle添加库
?
?
?
?
(四)PullLoadMoreRecyclerView-属性最全
GitHub地址:https://github.com/WuXiaolong/PullLoadMoreRecyclerView?
使用方法
build.gradle文件
?
?
?
?
?
?
?
?
?
?
?
?
?
(五)HeaderAndFooterRecyclerView-封装完善
GitHub地址:https://github.com/cundong/HeaderAndFooterRecyclerView?
mHeaderAndFooterRecyclerViewAdapter = new HeaderAndFooterRecyclerViewAdapter(mDataAdapter);
mRecyclerView.setAdapter(mHeaderAndFooterRecyclerViewAdapter);
?
mRecyclerView.addOnScrollListener(mOnScrollListener);
private EndlessRecyclerOnScrollListener mOnScrollListener = new EndlessRecyclerOnScrollListener() {
?
?
? 支持分页加载的LinearLayout布局RecyclerView<喎�"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="这里写图片描述" src="/uploadfile/Collfiles/20160416/20160416091632342.png" title="\" />
? 支持分页加载的GridLayout布局RecyclerView
? 支持分页加载的StaggeredGridLayout布局RecyclerView
? 分页加载失败时的GridLayout布局RecyclerView
以上就是GitHub中比较好的RecyclerView开源框架,希望能对小伙伴们的开发带来帮助,更感谢这些作者们提供了这么好的东西!
相关文章推荐
- OC数据持久化
- react listview最上方空白
- Android中ViewFlipper的使用详解
- Luence
- C#连接mysql数据库
- 服务器硬件及其操作系统基础
- hdu5733内切球
- 机器学习与R之支持向量机svm(上)
- TiDB 集群安装
- 常用正则表达式
- 微服务架构的优势与不足
- jsoup爬取百度瀑布流图片
- iOS FMDB保存图片
- 项目的开发 -- 互联网+
- 正则表达式(regular expression)以及常用语法
- JQ中的attr和prop方法
- linux中如何查看日志中某个异常出现的次数
- Flask 小白开始
- hdu 5750 Dertouzos (素数+数学)
- SAMBA 服务器搭建