SmartRefreshLayout 快速集成和经典刷新控件+自定义Header和Footer
github地址: 刷新控件地址
快速集成:
1. 对应的model的gradle中进行依赖:
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //1.0.5及以前版本的老用户升级需谨慎,API改动过大
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0' //没有使用特殊Header,可以不加这行
注意区别于AndroidX:
如果使用 AndroidX 在 gradle.properties 中添加
android.useAndroidX=true
android.enableJetifier=true
2. 在布局中集成
<com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never"
android:background="#fff" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
3.在java文件中的刷新设置
初始化控件:
RefreshLayout refreshLayout = (RefreshLayout)findViewById(R.id.refreshLayout);
refreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(RefreshLayout refreshlayout) {
// refreshLayout.finishRefresh(); 简单的设置刷新完成
refreshlayout.finishRefresh(2000/*,false*/);//传入false表示刷新失败
//重新刷新的逻辑代码
}
});
refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore(RefreshLayout refreshlayout) {
// refreshLayout.finishLoadMore(); // 简单的设置加载更多完成
refreshlayout.finishLoadMore(2000/*,false*/);//传入false表示加载失败
// 加载更多的逻辑
}
});
其他需求; 例如设置经典的刷新控件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AYrLGohu-1570788044728)(https://ws1.sinaimg.cn/large/e25f3775ly1g7u8cq6ehij20u01hcadj.jpg)]
简单的设置(好几种设置方法,我们使用xml设置的)
在原先的xml布局中,添加head和foot就OK了.
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/text_time">
<