Android recycleView的研究和探讨

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

如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809 微信公众号:终端研发部 

Markdown

(欢迎关注学习和交流)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

androidstarjack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值