Skip to content

Layren/RefreshRecyclerView

Repository files navigation

RefreshRecyclerView

1.0.4:

 修复ItemDecoration类已知Bug
      ( 在多布局且布局spanSize 不相同时会出现 分割线错乱问题;)

 recyclerView 布局添加 
        android:overScrollMode="never" 属性

1.0.3: 带刷新功能的recycleView

 注:此module为个人项目经历整理,具有以下几个特性
    1.非标准化
          写法习惯语法命名之类的,仅仅为个人习惯而已,并非遵守通用代码规则;
          注释说明也仅仅是简单标注
    2.非结构最优
          方法,监听,回调..之类一些多余的,不完全的...不是最好的.只是没有太多的精力去调整;
    3................


adapter:

    RefreshViewAdapter:
      继承于BaseQuickAdapter
      构造方法参数:
        layoutResId:Adapter布局Id
        listener:RefreshViewAdapterListener,Adapter 布局回调
      重写convert方法,调用listener 的 setHolder();

    RefreshViewMultiItemAdapter:
      继承于BaseMultiItemQuickAdapter
      构造方法参数:
        listener:RefreshViewMultiItemAdapterListener:Adapter 布局回调
        layoutIds:Adapter布局数组,按顺序添加,数组下标对应MultiModel.getItemType() 从0开始;
      setViewType(layoutIds); 添加多布局到Adapter
      重写convert方法,调用RefreshViewAdapterListener 的 setHolder()


interfaces:

    OnRefreshListener:
      RefreshRecyclerView监听;
      onRefresh():刷新事件;
      onLoadMore():加载更多事件;

    RefreshViewAdapterListener<T>:
      Adapter单布局回调,支持泛型;
      setHolder(holder,item);布局填充回调;

    RefreshViewMultiItemAdapterListener<T extends MultiModel>:
      Adapter多布局回调,支持泛型,泛型继承于MultiModel
      setHolder(holder, item,  itemType); 布局填充回调
        itemType:数据类型,MultiModel.getItemType(),对应布局为 adapter中 layoutIds 数组中的下标;
model:

    MultiModel:
      继承于AbstractExpandableItem;用于多布局折叠效果;
      实现MultiItemEntity接口;用于多布局效果

      itemType:数据对应布局标识
      spanSize:子View网格布局占用宽度
      level:数据层级,用于折叠效果(默认1,逐级递增)

view:

    FullyGridLayoutManager:
      布局管理器
      继承于GridLayoutManager:

      adapter:单布局adapter
      multiAdapter:多布局adapter

      构造方法参数:
        context:
        spanCount:网格布局列数
        adapter:单布局adapter
         multiAdapter:多布局adapter

      重写onMeasure()方法,校正子View宽高;

    ItemDecoration:
      自定义分割线
      继承于RecyclerView.ItemDecoration

      构造方法参数:
      height:分割线高度(宽度)
      orientation:分割线于View的位置(Gravity.TOP||Gravity.BOTTOM||Gravity.LEFT||Gravity.RIGHT)
      color:颜色(@ColorInt) (暂时仅支持纯色)
      isFrame:是否添加边框(用于多列布局)

      (此类已知Bug):
        在多布局且布局spanSize 不相同时会出现 分割线错乱问题;

    NestedRecyclerView<T>:
      嵌套RecyclerView,用于RecyclerView和ScrollView嵌套(不建议,数据会全部加载并占用大量内存,建议使用多布局)
      继承于RecyclerView;

      context;
      count://布局列数,默认1,可配置xml属性 app:counts="1"

    RefreshRecyclerView<T>:
      带刷新RecyclerView,自定义布局,继承于LinearLayout

      count://布局列数,默认1,可配置xml属性 app:counts="1"
      hideRefresh://隐藏刷新  可配置xml属性 app:hideRefresh="true"

RefreshRecyclerView

About

带有刷新功能的RecyclerView

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages