【Android】上拉加载更多,下拉刷新数据快速实现

2023-10-27

项目需求

在页面数据中,每次只显示一部分,当手指操作从下往上滑动时,进行请求加载更多数据,当从上往下滑动时,进行整个所有数据的刷新。

需求实现

1.引入依赖

    //刷新
    implementation  'com.scwang.smart:refresh-layout-kernel:2.0.1'      //核心必须依赖
    implementation  'com.scwang.smart:refresh-header-classics:2.0.1'    //经典刷新头
    implementation  'com.scwang.smart:refresh-header-radar:2.0.1'       //雷达刷新头
    implementation  'com.scwang.smart:refresh-header-falsify:2.0.1'     //虚拟刷新头
    implementation  'com.scwang.smart:refresh-header-material:2.0.1'    //谷歌刷新头
    implementation  'com.scwang.smart:refresh-header-two-level:2.0.1'   //二级刷新头
    implementation  'com.scwang.smart:refresh-footer-ball:2.0.1'        //球脉冲加载
    implementation  'com.scwang.smart:refresh-footer-classics:2.0.1'    //经典加载

2.界面布局,使用SmartRefreshLayout包裹我们显示数据的RecyclerView

    <com.scwang.smart.refresh.layout.SmartRefreshLayout
        android:id="@+id/sr_home"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/ll_home"
        android:layout_marginStart="20dp"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="20dp">

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rv_home"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:overScrollMode="never"
            android:scrollbars="none" />
    </com.scwang.smart.refresh.layout.SmartRefreshLayout>

3.快速实现

        binding.srHome.apply {
            //设置头部刷新效果
            setRefreshHeader(MaterialHeader(context))
            //设置底部刷新效果
            setRefreshFooter(ClassicsFooter(context))
            setEnableLoadMore(true)
            setEnableRefresh(true)
            //上拉加载更多
            setOnLoadMoreListener {
                it.finishLoadMore(2000)
            }
            //下拉刷新
            setOnRefreshListener {
                it.finishRefresh(2000)
            }
        }

OVER

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Android】上拉加载更多,下拉刷新数据快速实现 的相关文章

随机推荐

  • MMPose安装记录

    参考 GitHub open mmlab mmpose OpenMMLab Pose Estimation Toolbox and Benchmark 一 依赖环境 MMPose 适用于 Linux Windows 和 macOS 它需要
  • 华尔街留下的指标之王(附代码展示)

    一 写在前面的话 有人认为价格围绕价值上下波动 研究投资标的内在价值 于是就出现了基本面派 有人为价格反映了一切 所有的信息 包括基本面 都反映到了盘面价格中 于是就有了技术面派 从技术面派的角度讲 有人认为市场价格运动的方式是随机的 下一
  • 第8课 微信小程序双向数据绑定this.setData:

    第8课 微信小程序双向数据绑定 效果图上来吧 上面的输入框是input标签 输入的值与js代码中的data内的数据绑定 下面的显示文字是获取data内绑定的那个数据的值 微信没有v mode这种方法哦 所以只能这样实现数据动态绑定 实现双向
  • 全球及中国钢铁行业供需格局与未来前景分析报告2022版

    全球及中国钢铁行业供需格局与未来前景分析报告2022版 修订日期 2021年11月 搜索鸿晟信合研究院查看官网更多内容 第一章 钢铁产业概述 1 1 钢铁工业概念界定 1 1 1 钢铁的定义 1 1 2 钢铁工业的定义 1 1 3 钢铁行业
  • jwt解决需要登入才能调用接口的方案

    jwt解决登入才有权限访问的问题 第一步 引入依赖
  • Flutter之使用Overlay创建全局Toast并静态调用

    Toast在Android上是最常用的提示组件了 它的优势在于静态调用 全局显示 可以在任意你想要的地方调用他而丝毫不影响界面的布局 调用简单程度与Logger的调用不相上下 然而在Flutter中并没有给我们提供Toast的接口 想要实现
  • seaborn.heatmap操作手册

    本文转自seaborn heatmap官方操作手册 http seaborn pydata org generated seaborn heatmap html heatmap很好 很强大 seaborn heatmap seaborn0
  • 11. 盛最多水的容器 (leetcode)

    题目描述 给定一个长度为 n 的整数数组 height 有 n 条垂线 第 i 条线的两个端点是 i 0 和 i height i 找出其中的两条线 使得它们与 x 轴共同构成的容器可以容纳最多的水 返回容器可以储存的最大水量 说明 你不能
  • 【MOTRIX】使用motrix下载百度云文件

    按照图中步骤操作 最后会下载一个chrome的扩展文件 将插件解压后添加到chrome扩展当中 最后点开百度云主页 登陆上你的帐号 如果没有显示你的网盘的话 就点击回到网盘 如下图所示 一般点击百度网盘链接一般都会直接显示你的网盘的 看到初
  • java mkdirs linux_Java创建目录和多级目录

    error linux报错没有那个文件或目录 一 Java创建目录 mkdir 创建单层级目录 可以用于linux服务器 import java io File public static void main String args Fil
  • flea-cache使用之Redis分片模式接入

    Redis分片模式接入 1 参考 2 依赖 3 基础接入 3 1 定义Flea缓存接口 3 2 定义抽象Flea缓存类 3 3 定义Redis客户端接口类 3 4 定义Redis客户端命令行 3 5 定义分片模式Redis客户端实现类 3
  • 三色过人脸脚本_大小仅1MB,超轻量级通用人脸检测模型登上GitHub趋势榜

    机器之心报道 项目作者 Linzaer 近日 用户 Linzaer 在 Github 上推出了一款适用于边缘计算设备 移动端设备以及 PC 的超轻量级通用人脸检测模型 该模型文件大小仅 1MB 320x240 输入下计算量仅 90MFlop
  • IT项目管理第三次作业

    分析题 研究项目管理过程与领域知识及其关系 1 了解CMMI项目管理过程 项目计划 PP 使用知识域 过程矩阵 对比项目规划过程组与CMMI PP过程 具体要求 首先 绘制矩阵 矩阵行是十大知识领域 最后一行为其他知识 矩阵第一列 是项目规
  • C++ 描述任意多边形的类及计算其面积和周长

    这是一个可以在平面坐标系中表示任意多边形并且计算其面积和周长的类 不过目前只能在第一象限计算 使用时较简便 只要把多边形的各个顶点传进去就可以了 不用按顺序 其中面积的计算是参考https blog csdn net hemmingway
  • 【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 近年来 随着可再生能源的并网以及非线性负载
  • jenkins 踩坑

    ERROR Failed to parse POMs org apache maven project ProjectBuildingException Some problems were encountered while proces
  • java 加载驱动3种方法_加载jdbc驱动程序的三种不同方式

    1 比较常用 try Class forName com mysql jdbc Driver 加载数据库驱动 String url jdbc mysql localhost 3306 databasename 数据库连接子协议 databa
  • React:通过嵌套对象循环

    问题描述 我正在从strapi 获取数据 我的导航对象的响应如下所示 简化 id 1 title Home order 1 items id 2 title 3D Assets order 1 items id 4 title 3D Pla
  • Linux下OpenCV摄像头录像(c++)

    opencv 从摄像头中读取视频并保存 c 版 YouthDance CSDN博客 opencv 保存摄像头视频 参考如上 CMakeLists txt cmake版本 cmake minimum required VERSION 2 8
  • 【Android】上拉加载更多,下拉刷新数据快速实现

    项目需求 在页面数据中 每次只显示一部分 当手指操作从下往上滑动时 进行请求加载更多数据 当从上往下滑动时 进行整个所有数据的刷新 需求实现 1 引入依赖 刷新 implementation com scwang smart refresh