Android之下拉刷新和下拉加载(简单的)

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,运行

这是大佬的:
感谢大神的启发

发布了15 篇原创文章 · 获赞 15 · 访问量 1143

猜你喜欢

转载自blog.csdn.net/weixin_44826485/article/details/104824125