Skip to content

Update log

景彬 edited this page Dec 28, 2021 · 21 revisions

最新版本:jitpack

引入:

  • implementation 'com.github.youlookwhat:ByRecyclerView:1.3.0'
  • implementation 'com.github.youlookwhat:ByRecyclerView:1.0.18-support' // support版本停止支持

1.3.0

增加自动加载更多功能,即相比以前只用在设置监听时加上状态true即可,使用方式:

void setOnLoadMoreListener(boolean isAutoLoadMore, OnLoadMoreListener listener)
void setOnLoadMoreListener(boolean isAutoLoadMore, int preLoadNumber, OnLoadMoreListener listener)

/**
 * 设置加载更多监听
 *
 * @param isAutoLoadMore 是否自动加载
 * @param preLoadNumber  自动加载时,默认滑动到倒数第[preLoadNumber]条数据加载,默认1
 * @param listener       监听器
 * @param delayMillis    延迟多少毫秒执行加载更多
 */
void setOnLoadMoreListener(boolean isAutoLoadMore, int preLoadNumber, OnLoadMoreListener listener, long delayMillis)
  1. 如果不设置,默认还是使用上拉松手加载更多机制(暂定,如果大部分人建议默认自动加载更多,可再调整)
  2. 设置后如果想取消自动加载还是使用recyclerView.setLoadMoreEnabled(false);
  3. 不满一屏不加载更多setNotFullScreenNoLoadMore(),只对上拉松手加载更多有效

PS:如果自定义了加载更多布局,会有提示错误,需要实现getState()方法,添加示例:

private int mState = BaseLoadMore.STATE_COMPLETE;
@Override
public void setState(int state) {
    mState = state;
}
@Override
public int getState() {
    return mState;
}

具体请见:SimpleLoadMoreView.java

1.2.1

  • [完善] 使用refreshNotifyItemChanged(position, payload);不继承bindViewPayloads时,默认使用bindView处理。

1.2.0

  • 新增 Item局部刷新,具体请见demo示例
//  设置要局部刷新的position及payload
adapter.refreshNotifyItemChanged(position, PayloadAdapter.PAYLOAD_COLLECT);

// adapter里额外再继承 bindViewPayloads 方法
@Override
protected void bindViewPayloads(@NonNull BaseBindingHolder holder, @NonNull DataItemBean bean, @NonNull ItemPayloadBinding binding, int position, @NonNull List<Object> payloads) {
     // 删除掉这一行,自己处理,不走bindView()
     // super.bindViewPayloads(holder, bean, binding, position, payloads);
    for (Object p : payloads) {
        int code = (int) p;
        switch (code) {
            case PAYLOAD_ZAN:
                binding.tvZan.setText(bean.getIsZan() == 1 ? "已赞" : "点赞");
                break;
            case PAYLOAD_COLLECT:
                binding.tvCollect.setText(bean.getIsCollect() == 1 ? "已收藏" : "收藏");
                break;
            default:
                break;

        }
    }
}

1.1.6

  • 新增处理 横向宫格分割线

1.1.5

  • 解决setStateView可能存在的错误
  • 优化在ViewPage2里使用时,使用下拉刷新的处理逻辑

1.1.4

  • 处理在ViewPager2中下拉刷新时左右移动中断的问题,可setDispatchTouch(false)取消处理
  • 增加setStateViewEnabled(boolean stateViewEnabled, boolean isRemoveRefresh),状态布局可直接remove

1.1.3

  • 优化OnItemFilterClickListenerOnItemChildFilterClickListener代码
  • 更改加载更多View的进度条默认颜色,默认取colorAccent

1.1.2

  • 新增
    • OnItemFilterClickListener item防止重复点击
    • OnItemChildFilterClickListener item子view防止重复点击

1.1.0

fix if (!adapter.hasObservers()) { adapter.registerAdapterDataObserver(mDataObserver); }

1.1.0

  • 最后一行显示即加载,不必完全显示

1.0.18

  • fix setSpanSizeLookup会发生错乱 issues/13

1.0.17

  • 增加可设置Skeleton骨架图

1.0.16

  • 增加悬浮item设置

1.0.15

  • 优化destroy的操作

1.0.14

  • [修复] 添加瀑布流分割线的问题
  • [修复] 在指定位置添加一组数据的问题
  • [新增] 使用多类型列表代码示例
  • [新增] 使用自定义横向加载更多布局示例
  • [优化] 代码优化

1.0.13

  • [新增] 下拉刷新延迟加载控制
  • [新增] 设置线性布局分割线可直接设置颜色等,处理滚动条不到顶的问题

1.0.12

  • 优化:自动在holder里setByRecyclerView(),添加子view的点击长按事件时不需要额外执行set操作。#4
  • 增加item及item子view的点击/长按示例

1.0.11

  • 1.增加子View的点击和长按事件
  • 2.不设置下拉刷新监听也可以使用下拉刷新动画,只需设置开关,recyclerView.setRefreshEnabled(true);
  • 3.修复下拉后再次上滑时出现的卡顿问题
  • 4.BaseBindingAdapter完善

1.0.10

  • 增加setStateView()方法,可以设置加载中/加载错误等状态
  • 修复下拉出现刷新头后不能再连续上拉

1.0.9

  • 增加正在加载更多的状态
  • 增加正在下拉刷新的状态
  • 去掉app_name翻译

1.0.8

  • 1.增加了GridSpaceItemDecoration,便于一键设置宫格间距
  • 2.增加了setOnLoadMoreListener(listener, delayMillis),便于延迟调用加载更多接口
  • 3.修复了瀑布流判断是否全屏的逻辑
  • 4.修复了不足一屏上滑再下滑时的刷新逻辑
  • 5.文件夹与资源文件重命名,防止与项目文件重名

1.0.7

  • 1.完善分割线的设置,更方面简介(grid分割线正在完善)
  • 2.可直接通过layoutId添加头尾空布局
  • 3.优化上拉刷新/加载更多布局代码
  • 4.修复自定义布局类作用域问题
  • 5.BindingHolder调换参数顺序,统一位置
  • 6.增加添加分割线示例
  • 7.添加自定义网易云音乐下拉刷新和加载更多布局示例

由于项目大幅完善阶段,可能变动api较大,忘见谅,有问题可直接提issues,谢谢

1.0.6

  • 修复了BaseLoadMore/BaseRefreshHeader作用域,使其可以自定义布局

1.0.5

  • 1.修复了使用SwipeRefreshLayout下拉刷新时会加载更多的Bug
  • 2.修改了判断是否全满一屏的逻辑
  • 3.更改了方法名:setRefreshing(refreshing)传入true设置刷新

1.0.4

  • 1.Change minSdk 14
  • 2.Fix preview bug
  • 3.Fix 修复到底重置后不能上拉刷新的Bug
  • 4.防止和系统Api重名,更名为ByDividerItemDecoration
  • 5.setAdapter时重置状态

1.0.3

  • Fix 修复到底重置后不能上拉刷新的Bug

1.0.2

  • 1.Change minSdk 14
  • 2.Fix preview bug

1.0

  • 1.支持 下拉刷新、加载更多
  • 2.可设置自定义 下拉刷新布局 和 加载更多布局
  • 3.添加/移除 HeaderView、FooterView
  • 4.设置空布局 EmptyView
  • 5.添加item的点击/长按事件
  • 6.可随意切换 自带下拉刷新布局 / SwipeRefreshLayout
  • 7.优化过的BaseRecyclerAdapter
  • 8.优化过的BaseListAdapter
  • 9.结合DataBinding (RecyclerView / ListView)
  • 10.默认使用AndoridX,且支持Support