zoukankan      html  css  js  c++  java
  • 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

    (欢迎关注学习和交流)


  • 相关阅读:
    Gitblit搭建及Git协作开发流程
    Windows平台使用Gitblit搭建Git服务器图文教程
    gitblit搭建git服务器
    IntelliJ IDEA手动配置连接MySQL数据库
    如何去掉Intellij IDEA过多的警告 设置警告级别
    修改和重置WAMP的phpMyAdmin密码
    phpMyAdmin中config.inc.php设置密码和修改密码的方法
    Oracle、Mysql、SqlServer创建表和给表和字段加注释
    java注释规范
    JAVA基础补漏--static
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7054203.html
Copyright © 2011-2022 走看看