RecyclerViewLibrary

A RecyclerView libirary ,has some support, like headerAdapter/TreeAdapter,and PulltoRefreen/Drag

一个RecyclerView扩展库,当中主要包括

1:针对RecyclerView数据适配器的封装

2:RecyclerView上拉刷新,下拉载入

3:RecyclerView拖动

RecyclerView
自己定义数据适配器

  • HeaderAdapter:一个支持动态加入/移除头和尾的Adapter,不推荐单独使用.PullToRefreenceRecyclerView内己封装,可如ListView一般操作,且更灵活
  • ExpandAdapter:Recyclerview实现为如ExpandListView功能的数据适配器.

  • TreeAdapter:一个无限级的Adapter树

  • DynamicAdapter:全然动态化的Adapter,支持往任一位置插入自己定义条目.

RecyclerView
拖动(Drag)

  • Linear/Grid拖动
  • Dynamic条目拖动(跨度非常大的任一条目支持)
  • 自己定义控制演示 ================

RecyclerView
上拉刷新下拉载入

部分实现介绍

RecyclerView#setAdapter mAdapter==HeaderViewAdapter:RecyclerView内部维护Adapter,所以实现不影响使用者Adapter的情况下,类ListView般使用,实现like:ListView的HeaderListAdapter

    @Override
public void setAdapter(Adapter adapter) {
mAdapter.setAdapter(adapter);
super.setAdapter(mAdapter);
adapter.registerAdapterDataObserver(new HeaderAdapterDataObserve(mAdapter));
}

#### HeaderAdapter:type定义 type_header:为-1往下递减

type_footer:为12以上递加

实现动态无限加入与删除

    private final int TYPE_HEADER = -1;//从-1起始開始减
private final int TYPE_NORMAL = 0;//默认从0開始
private final int TYPE_NORMAL_ITEM_COUNT = 12;//任意取的值,确保装饰Adapter对象不会超过此界就可以
private final int TYPE_FOOTER = TYPE_NORMAL_ITEM_COUNT + 1;

还有更难实现的DynamicAdapter等

github地址:https://github.com/momodae/RecyclerViewLibrary

參考:RecyclerView-Animator/XRecyclerView.很感谢.

Android 比ListView更好用强大的RecyclerView库:RecyclerViewLibrary的更多相关文章

  1. Android 比SwipeRefreshLayout更漂亮和强大的下拉刷新控件:Android-MaterialRefreshLayout

    这是一个下拉刷新的控件,它比SwipeRefreshLayout更加漂亮和强大.它易于使用并且支持API LEVEL >= 8.希望你能够喜欢. Now let me talk about Ma ...

  2. 一个漂亮而强大的RecyclerView

    代码地址如下:http://www.demodashi.com/demo/13470.html 简介 主要提供了简单易用强大的RecyclerView库,包括自定义刷新加载效果.极简通用的万能适配器A ...

  3. android开发 一个更优的listView的写法

    布局xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi ...

  4. Android 自定义 ListView 上下拉动“刷新最新”和“加载更多”歌曲列表

    本文内容 环境 测试数据 项目结构 演示 参考资料 本文演示,上拉刷新最新的歌曲列表,和下拉加载更多的歌曲列表.所谓"刷新最新"和"加载更多"是指日期.演示代码 ...

  5. android中listView下拉刷新

    Android的ListView是应用最广的一个组件,功能强大,扩展性灵活(不局限于ListView本身一个类),前面的文章有介绍分组,拖拽,3D立体,游标,圆角,而今天我们要介绍的是另外一个扩展Li ...

  6. Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)

    昨天的(今天凌晨)的博文<Android中Fragment和ViewPager那点事儿>中,我们通过使用Fragment和ViewPager模仿实现了微信的布局框架.今天我们来通过使用Li ...

  7. android——自定义listView

    都知道微信主机面 有个界面会一行一一行的聊天记录,那个效果就可以用listview来实现(当然这只是其中的一种) listView是一种比较常见的组件它用来展示列的view,它是根据数据的长度来显示数 ...

  8. Android之listview && adapter

    今天我们讲的也是非常重要的一个控件listview-最常用也是最难的 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...

  9. Android 实现ListView中Item被单击后背景色保持高亮

    今天为了解决一个需求,就是我有一个slidingDrawer,里面是一个ListView.然后,单击其中的Item,默认只是显示一个橙色背景后就恢复了.客户便有着个需求,需要单击这个Item的背景高亮 ...

随机推荐

  1. bzoj 4621 Tc605 思想+dp

    4621: Tc605 Time Limit: 15 Sec  Memory Limit: 128 MBSubmit: 328  Solved: 183[Submit][Status][Discuss ...

  2. reboot和init 6之间的区别

    init命令用于改变操作系统的运行级别.Init 6是重新启动机器.reboot也是重新启动机器.那么这两个命令到底有什么区别呢?对这两个操作使用man命令看到的内容如下:"init 6&q ...

  3. atan 和 atan2

     转自http://blog.csdn.net/chinabinlang/article/details/6802686 atan函数与atan2函数的一点区别 . atan 和 atan2 都是求反 ...

  4. MySQL的菜鸟级操作

    windows下启动和关闭mysql 启动(windows): 在命令行下,进入到mysql安装路径的bin文件夹下执行:net start mysql 关闭(windows): 在启动的情况下执行: ...

  5. 接下来打算写一下visual stuido 2013使用git进行远端管理。

    虽然我有了vs的账号,也vs2013开始已经可以进行远端的账户管理了,可是vs的版控毕竟有些依赖vs,想想还是用git吧 今天把这个环境的整套都弄地基本熟了.记录一下,算是一个小结.开始搭建系统框架

  6. QT5.3 杂记(转)

    原文转自 https://www.cnblogs.com/aoldman/p/3968280.html Qt5下,QWidget系列从QtGui中被剥离出去,成为单独的QtWidget模块.随着Qt ...

  7. QML与C++混合编程详解

    1.QML与C++为什么要混合编程 QML与C++为什么要混合编程,简单来说,就是使用QML高效便捷地构建UI,而C++则用来实现业务逻辑和复杂算法,下面介绍了两者间交互的方法与技巧. 2.QML访问 ...

  8. Linux中断(interrupt)子系统之五:软件中断(softIRQ)【转】

    转自:http://blog.csdn.net/droidphone/article/details/7518428 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 软件中 ...

  9. 关于js拖拽功能,拖拽元素的position:fixed;left:0;right:0;样式引起左右拖动元素会出现落后鼠标移动距离的问题

    被拖拽元素的样式如果为:position:fixed;left:0;right:0;(当时是为了让fixed定位的元素水平居中加的left:0;right:0;避免js动态计算定位的麻烦)时左右拖动会 ...

  10. FZU-2216 The Longest Straight(尺取法)

     Problem 2216 The Longest Straight Accept: 523    Submit: 1663Time Limit: 1000 mSec    Memory Limit ...