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. Java笔记(一)

    1. ConcurrentModificationException 在遍历容器的同时修改容器里的成员对象可能会抛出该异常 http://www.blogjava.net/EvanLiu/archiv ...

  2. 通过OpenGL ES在iOS平台实践增强现实

    http://www.cnblogs.com/elvisyzhao/p/3398250.html 本文采用OpenGL ES 1固定渲染管线实现,目标为在设备拍摄到的现实世界中,绘制世界坐标轴,并根据 ...

  3. 【原创】Linux环境下的图形系统和AMD R600显卡编程(8)——AMD显卡DRM驱动初始化过程

    前面几个blog对DRM驱动.显卡的显存管理机制.中断机制都进行了一些描述,现在阅读AMD drm驱动的初始化过程应该会轻松许多. 下面是一AMD的开发人员编写的文章(先暂时放在这里,后续有时间再添加 ...

  4. 网站开发只需数小时?Meteor 说这才是未来

    原文: http://www.geekpark.net/topics/211573/ 那个想要挑战过去数十年沿用至今的网站开发模式的新势力来了. Meteor 是从 YC 孵化而出的现代网站开发平台, ...

  5. 解析Java的volatile关键字

    众所周知,无限制下多线程操作共享变量是危险的,为了保证线程安全语义,一般的建议是在操作共享变量时加锁,比方说在用synchronized关键字修饰的方法内读写共享变量. 但是synchronized开 ...

  6. react 利用react-hammerjs插件实现滑动特效和点击特效

    react-hammerjs是一款由hammer.js的JS插件来实现在react中实现手势滑动的事件插件, 它有各种各样的手势支持效果,这里我们就使用下它最简单的3种效果来实现我们要的动画 分别是点 ...

  7. Nginx配置文件分析

    #user nobody; #启动进程数,即启动ngnix服务的个数,通常设置和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/e ...

  8. Jmeter实时性能测试数据的监控

    Jmetet实时性能测试数据的监控和展示Jmeter Grafana InfluxDB 安装Grafana配置jmeter安装InfluxDB配置Grafana展示数据一安装InfluxDB 为了方便 ...

  9. Unique Word Abbreviation -- LeetCode

    An abbreviation of a word follows the form <first letter><number><last letter>. Be ...

  10. Moving Average from Data Stream -- LeetCode

    Given a stream of integers and a window size, calculate the moving average of all integers in the sl ...