• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > RecyclerView的五大开源项目-解决办法

RecyclerView的五大开源项目-解决办法

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了recyclerview,android recyclerview,recyclerview的使用,recyclerview 详解,recyclerview 分割线等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

RecyclerView的五大开源项目-解决办法


前段时间做项目由于采用的MD设计,所以必须要使用RecyclerView全面代替ListView。但是开发中遇到了需要实现RecyclerView上拉加载、下拉刷新和添加Header以及Footer等需求问题,现将问题解决中用到的五大开源项目总结下来,方便他人。

首先介绍下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上优秀的Header、Footer、上拉加载和下拉刷新解决方案汇总如下:

(一) SwipeToLoadLayout-推荐使用

GitHub地址:https://github.com/Aspsine/SwipeToLoadLayout

SwipeToLoadLayout支持YouTube、Google、京东等多家APP基于RecyclerView的上拉加载和下拉刷新样式,,好用的不要不要的。废话不多说,直接上图:

? ListView & GridView

这里写图片描述

? RecyclerView(With all kinds of layoutManagers)

这里写图片描述

? WebView & ScrollView & Other Views

这里写图片描述

? Google SwipeRefreshLayout style

这里写图片描述

? 京东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

UltimateRecyclerView是解决RecyclerView下拉刷新,加载更多,增加头部,显示或隐藏工具栏等许多问题的知名开源框架。

包含特性如下:
? 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添加库

repositories {
    jcenter()
    maven { url "http://dl.bintray.com/jjhesk/maven" }
    }

第二步:添加依赖库

dependencies{
    compile 'com.hkm.slidingmenulib:libmenu:0.4.9'
}

第三步:布局文件中使用方法

(三) IRecyclerView-效果最炫

GitHub地址:https://github.com/Aspsine/IRecyclerView

IRecyclerView支持RecyclerView下拉刷新,上拉加载,定制Header和Footer。

包含特性如下:
? pull-to-refresh
? pull-to-loadmore
? customize refresh header
? customize loadmore footer
? add multiple header view
? add multiple footer view

使用效果如下:
刷新效果
这里写图片描述

AndroidStudio配置方法
第一步:在你的build.gradle添加库

repositories:
allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

第二步:添加依赖库

dependencies {
    compile 'com.github.Aspsine:IRecyclerView:0.0.2'
}

第三步:布局文件中使用方法

第四步:Activity/Fragment中使用

IRecyclerView iRecyclerView = (IRecyclerView) findViewById(R.id.iRecyclerView);

iRecyclerView.setLayoutManager(new LinearLayoutManager(this));

// an custom footer view, you can customize it yourself.
LoadMoreFooterView loadMoreFooterView = (LoadMoreFooterView) iRecyclerView.getLoadMoreFooterView();

// you can also add header and footer like this
// note: header and refresh header are different, footer and load more footer are different too. 
iRecyclerView.addHeaderView(headerView);
iRecyclerView.addFooterView(footerView);

// adapter
ImageAdapter mAdapter = new ImageAdapter();
// note: here use setIAdapter(...) method not setAdapter(...)
iRecyclerView.setIAdapter(mAdapter);

iRecyclerView.setOnRefreshListener(new OnRefreshListener() {
    @Override
    public void onRefresh() {

    }
});
iRecyclerView.setOnLoadMoreListener(new OnLoadMoreListener() {
    @Override
    public void o



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 从头开始学RecyclerView(六)LayoutManager
  • AndroidStudio下使用 RecyclerView xml文件不显示预览条目并报错类似:NoClassDefFoundError 问题解决,studiorecyclerview
  • 解析View的getDrawingCache方法,getdrawingcache
  • 从源码角度入手实现RecyclerView的Item点击事件,recyclerviewitem
  • 在Kotlin编写RecyclerView适配器(KAD 16),kotlinrecyclerview
  • 【RecyclerView与Glide】实现一个Android电子书阅读APP,gliderecyclerview
  • 深入理解 Android 之 View 的绘制流程,androidview
  • Android之RecyclerView的原生Bug-Inconsistency detected. Invalid view holder adapter positionViewHolder{a1bbfa3 position=2 id=-1, oldPos=-1, pLpos:-1 no parent},recyclerviewholder
  • RecyclerView在软键盘弹出时自动调整内容技巧,recyclerview技巧
  • RecyclerView的五大开源项目-解决办法

相关文章

  • 2017-05-26高通android开发缩写
  • 2017-05-26Android中AsyncTask基本用法与源码剖析(API 23)
  • 2017-05-26dpdk内存管理——内存初始化
  • 2017-05-26Android网络编程(四)从源码解析Volley
  • 2017-07-22Android项目开发填坑记
  • 2017-05-26测试新建博文,新建博文
  • 2017-05-26Android 如何保证service在后台不被kill,androidkill
  • 2017-05-26android布局带参返回,android布局
  • 2017-05-26android去掉滑动到顶部和底部的阴影,android到顶部
  • 2017-05-26使用Android-Debug-Database 在浏览器中查看App的数据库,清科zdatabase数据库

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android 连接webservice(利用谷歌提供的jar包),androidwebservice
    • 我的android学习经历9,android学习经历9
    • 牛刀小试Oracle之ORACLE 11GR2 RAC安装配置--GI安装配置
    • Greenplum 由于备master节点故障导致gp无法启动处理
    • 深入了解Volley如何执行一个Request的流程
    • Android中使用findViewByMe提升组件查找效率,光伏组件转换效率
    • 我的Android进阶之旅之Android自定义View来实现解析lrc歌词同步滚动、上下拖动、缩放歌词等功能
    • Glide,glideandroid
    • Android小知识,理财小知识
    • Android热补丁动态修复技术(二):实战!CLASS_ISPREVERIFIED问题!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有