作者:scwang 大神
https://github.com/scwang90/SmartRefreshLayout
1.依赖库
//上拉加载更多/下拉刷新
implementation 'io.github.scwang90:refresh-layout-kernel:2.1.0' //核心必须依赖
implementation 'io.github.scwang90:refresh-header-classics:2.1.0' //经典刷新头
implementation 'io.github.scwang90:refresh-header-radar:2.1.0' //雷达刷新头
implementation 'io.github.scwang90:refresh-header-falsify:2.1.0' //虚拟刷新头
implementation 'io.github.scwang90:refresh-header-material:2.1.0' //谷歌刷新头
implementation 'io.github.scwang90:refresh-header-two-level:2.1.0' //二级刷新头
implementation 'io.github.scwang90:refresh-footer-ball:2.1.0' //球脉冲加载
implementation 'io.github.scwang90:refresh-footer-classics:2.1.0' //经典加载
2.布局设置
<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#fff"
android:overScrollMode="never" />
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
3.初始化设置
SmartRefreshLayout smartRefreshLayout=findViewById(R.id.refresh_layout);
refreshLayout.setRefreshHeader(new ClassicsHeader(context));//经典头布局
refreshLayout.setRefreshFooter(new ClassicsFooter(context));//经典脚布局
refreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(RefreshLayout refreshlayout) {
refreshlayout.finishRefresh(2000/*,false*/);//传入false表示刷新失败
}
});
refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore(RefreshLayout refreshlayout) {
refreshlayout.finishLoadMore(2000/*,false*/);//传入false表示加载失败
}
});