Android之下拉刷新和下拉加载
我的是AndroidX,其他的没测过
我这个按钮是额外加的,请忽略
(前提是已经写好了RecycleView)
1,添加依赖
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-7'
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.4-7'
2,布局文件
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srlAccentColor="#00000000"
app:srlPrimaryColor="#00000000"
app:srlEnablePreviewInEditMode="true">
这是header
<com.scwang.smartrefresh.header.BezierCircleHeader
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.scwang.smartrefresh.layout.footer.BallPulseFooter
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
最近才发现,还有好多好看的header(本条可忽略)
把上面那个header换成下面的更好玩
com.scwang.smartrefresh.header.BezierCircleHeader 简约蓝水滴
com.scwang.smartrefresh.header.WaveSwipeHeader 水滴掉落
com.scwang.smartrefresh.header.DeliveryHeader 降落伞
com.scwang.smartrefresh.header.DropBoxHeader 纸盒
com.scwang.smartrefresh.header.MaterialHeader 普通的圈圈
com.scwang.smartrefresh.header.StoreHouseHeader 一行字
com.scwang.smartrefresh.header.PhoenixHeader 小房子
com.scwang.smartrefresh.header.TaurusHeader 飞机
3,MainActivity中:
private RefreshLayout mRefreshLayout;
//初始化
mRefreshLayout = findViewById(R.id.refreshLayout);
//刷新
mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(RefreshLayout refreshlayout) {
list.add(new ListItem("刷新"));//这个地方每个人都不一样
listAdapter.notifyDataSetChanged();
refreshlayout.finishRefresh();
}
});
//加载
mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
list.add(new ListItem("加载"));//这个地方每个人都不一样
listAdapter.notifyDataSetChanged();
refreshLayout.finishLoadMore();
}
});
4,运行
这是大佬的:
感谢大神的启发