-
使用前,可以从Github上将目录下的 rlrecyclerview 下载下来,这是一个Android Library 项目, 你可以直接在项目中引用。
dependencies { compile project(':rlrecyclerview') }
-
在布局文件中直接使用,也无需过多的设置
<com.wj.rlrecyclerview.RLRecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent"/>
-
findViewById 后,和RecyclerView一样设置适配器即可
-
RLRecyclerView中,提供了相关方法开启刷新、加载更多等功能:
/** 功能模式-关闭 */ public static final String REFRESH_MODE_NONE; /** 功能模式-全部开启 */ public static final String REFRESH_MODE_BOTH; /** 功能模式-下拉刷新 */ public static final String REFRESH_MODE_REFRESH; /** 功能模式-上拉加载更多 */ public static final String REFRESH_MODE_LOADMORE; /** * 设置功能类型 * * @param mode 功能类型 */ public void setMode(String mode) /** * 设置自动刷新开关 * * @param autoRefresh true:开启自动刷新 false:关闭自动刷新 */ public void setAutoRefresh(boolean autoRefresh) /** * 添加头布局,可多次添加,不可重复添加同一对象 * * @param headerView 头布局 */ public void addHeaderView(View headerView) /** * 清空头布局 */ public void clearHeaders() /** * 添加脚布局,可多次添加,不可重复添加同一对象 * * @param footerView 脚布局 */ public void addFooterView(View footerView) /** * 清空脚布局 */ public void clearFooters() /** * 设置刷新事件监听 * * @param listener 刷新事件监听接口{@link OnRefreshListener} */ public void setOnRLListener(OnRefreshListener listener) /** * 设置加载更多事件监听 * * @param listener 加载更多事件监听接口{@link OnLoadMoreListener} */ public void setOnRLListener(OnLoadMoreListener listener) /** * 设置刷新、加载更多事件监听 * * @param listener 刷新、加载更多事件监听接口{@link OnRLListener} */ public void setOnRLListener(OnRLListener listener) /** * 刷新、加载更多完成调用 */ public void onComplete()
-
通过这些方法,你可以非常方便的使用相关功能。
-
项目中,已经实现了简单的动画效果,如果需要自己定制刷新、加载动画,你可以找到项目目录下有RLRefreshView、RLLoadMoreView
-
两个控件,通过修改里面的方法就可以实现你自己的刷新、加载效果,修改的地方我已经用 // TODO 注明,你可以很轻易地找到并修改。
/** * 设置布局 * * @return 布局id */ @LayoutRes protected abstract int setLayout(); /** * 正在加载中 */ public void onLoading() /** * 松开以加载 */ public void onLoosen() /** * 下拉状态 * * @param percent 下拉进度 <p>单位:百分比</p> <p>范围:0~100</p> */ public void onPulling(int percent) /** * 加载完成 */ public void onFinish() /** * 数据不足一页时加载更多显示 */ public void onTips()
- 像这样的控件现在其实有很多,但是我还是选择自己写了一个,当然了,其中肯定有许多我没有发现的,开发中也有很多的困扰,
- 其中就借鉴了郭霖大大的 Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能,以及 XRecyclerView 的部分源码,
- 感谢各位前辈的无私分享,在开发的过程中我学到了很多。如果你在使用中发现什么问题,请告诉我,感谢大家的使用和指正。