刷新加载库

Android下拉刷新与加载更多库:SmartRefreshLayout实战指南 SmartRefreshLayout是Android平台上的一个功能强大的下拉刷新库,它为开发者提供了一套轻量级且易于集成的刷新组件。该库设计思想来源于Material Design,支持自定义下拉头和上拉脚,具有丰富的配置选项和动画效果,能够满足多样化的用户交互需求。SmartRefreshLayout提供了一系列的方法来进行下拉刷新视图的配置和自定义。开发者可以根据需要调整刷新提示头部的样式、颜色、动画以及行为。例如,如果想要自定义一个下拉刷新时的头部视图,可以使用以下方式:在这段代码中, 阅读详情

今天项目不忙了,决定搜寻一个好一点的刷新库,以前都是用谷歌自带的SwipeRefreshLayout来刷新,用的久了,感觉没什么新鲜感了,功夫不负有心人,发现了一个,而且star数也很高,就按照说明,写了个Demo试了一下。这里试的是传统风格的下拉刷新和上拉加载,当然,库里面有很多风格的。具体可以去细看,地址:https://github.com/scwang90/SmartRefreshLayout,不得不说,这个库确实好犀利,很多属性也可以自定义。

xml声明:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context="com.thtj.demo.MainActivity">
    <com.scwang.smartrefresh.layout.SmartRefreshLayout
        android:id="@+id/smartRefreshLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.scwang.smartrefresh.layout.header.ClassicsHeader
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:srlTextSizeTitle="14sp"
            app:srlPrimaryColor="#444444"
            app:srlAccentColor="#ffffff"/>
        <ListView
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
        <com.scwang.smartrefresh.layout.footer.ClassicsFooter
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:srlTextSizeTitle="14sp"
            app:srlPrimaryColor="#444444"
            app:srlAccentColor="#ffffff"/>
    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>

 app:srlTextSizeTitle="14sp"//字体大小
 app:srlPrimaryColor="#444444"//主题背景
 app:srlAccentColor="#ffffff"//字体颜色

MainActivity:

public class MainActivity extends Activity {
    private ListView listView;
    private SmartRefreshLayout smartRefreshLayout;
    private List<String> dataList;
    private ArrayAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        dataList = new ArrayList<>();
        initData();
        smartRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(RefreshLayout refreshlayout) {
                dataList.clear();
                initData();
                refreshlayout.finishRefresh(true);//刷新完成调用
            }
        });
        smartRefreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() {
            @Override
            public void onLoadmore(RefreshLayout refreshlayout) {
                List<String> list = new ArrayList<>();
                for (int i = 0; i < 5; i++) {
                    list.add("新增数据" + i);
                }
                dataList.addAll(list);
                adapter.notifyDataSetChanged();
                smartRefreshLayout.finishLoadmore(true);//加载完毕调用
            }
        });
    }

    private void initData() {
        for (int i = 0; i < 20; i++) {
            dataList.add("数据" + i);
        }
        adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);
        listView.setAdapter(adapter);
    }

    private void initView() {
        listView = findViewById(R.id.listView);
        smartRefreshLayout = findViewById(R.id.smartRefreshLayout);
        smartRefreshLayout.setEnableAutoLoadmore(false);//关闭滑到底部自动加载更多(默认自动加载更多)
        smartRefreshLayout.setEnableLoadMoreWhenContentNotFull(false);//内容不满一页时禁止上拉加载更多功能
        smartRefreshLayout.setDisableContentWhenRefresh(true);//禁止在刷新过程中对列表的任何操作
        smartRefreshLayout.setDisableContentWhenLoading(true);//禁止在加载过程中对列表的任何操作
    }
}

简单易懂,不解释,风格犀利~

SmartRefreshLayout-release.zip 下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。 立即下载

相关推荐

利用Pandas进行高效网络数据获取

本文将重点介绍如何使用Pandas库进行网络爬虫。爬取数据是获取互联网上信息的常见方式之一,而Pandas作为一种强大的数据处理和分析工具,为我们提供了便捷的方法来处理和清洗从网页上获取的数据。文章将从爬取网页数据开始,包括使用Python的Requests库发送HTTP请求获取网页内容,并使用Pandas的功能来解析和提取所需的数据。我们还将讨论如何处理网页中的表格数据、处理和清洗数据、保存数据到文件等常见任务。

ak_bingbing的博客 1438

SmartRefreshLayout 方法解读以及使用

refreshLayout.setEnableAutoLoadMore(false);//使上拉加载具有弹性效果 refreshLayout.setEnableOverScrollDrag(false);//禁止越界拖动(1.0.4以上版本) refreshLayout.setEnableOverScrollBounce(false);//关闭越界回弹功能 app:srlEnableFoote...

李建国的博客 9214

IDEA+JRebel实现SpringBoot+MyBatis Plus项目热部署全攻略(含XML热更新实战)

本文详细介绍了如何在IDEA中使用JRebel为SpringBoot与MyBatis Plus项目配置高效的热部署方案。通过安装激活JRebel插件并配置关键扩展,重点解决了MyBatis XML映射文件修改后无法即时生效的痛点,实现了Java代码与XML文件的秒级热更新,从而彻底摆脱频繁重启应用的开发困境,大幅提升编码与调试效率。

weixin_28831341的博客 472

android智能刷新SmartRefreshLayout框架

智能刷新框架SmartRefreshLayout

leveretz的博客 7241

生信入门(六)——单细胞分析(Seurat)

生信入门(六)——单细胞分析(Seurat) 文章目录生信入门(六)——单细胞分析(Seurat)一、数据导入1、数据来源2、数据导入二、标准预处理1、QC和选择细胞进行进一步分析2、规范化数据3、识别高度可变的特征(特征选择)4、缩放数据三、主成分分析(PCA)1、线性降维2、确定数据集的“维度”四、聚类细胞五、非线性降维(UMAP/tSNE)六、寻找差异表达的特征(簇生物标志物) 一、数据导入 1、数据来源 点击此处下载数据 数据说明:分析10X Genomics提供的外周血单细胞(PBMC)数据集,有

羊羊的博客 6万+

Upwork数据战争:用爬虫与AI预测垄断订单

当普通自由职业者还在“等客户发需求”时,顶尖玩家已用数据预测客户明天需要什么; 当竞争对手熬夜抢单时,你的爬虫早已自动提交提案—— 这不是科幻,而是2025年的现实! 本文将手把手教你用合法工具搭建“数据战情室”,让每个决策都有万亿级数据支撑!

qq_61813593的博客 982

Android 下拉刷新框架[SmartRefreshLayout

官网:https://gitee.com/scwang90/SmartRefreshLayout 非常强大的刷新框架,有很多样式可选,这里简单使用经典的 第一步: 添加依赖 implementation 'com.scwang.smart:refresh-layout-kernel:2.0.3' implementation 'com.scwang.smart:refresh-header-classics:2.0.3' implementation 'com.scwang.smart:refresh

z18223345669的博客 4984

记录:rk3568适配开源GPU驱动(panfrost)

摘要:本文介绍了在RK3568芯片上移植Mali-G52 GPU驱动的过程。主要包括内核dts文件修改和内核配置调整两部分。

xuesong10210的博客 2237

android 首页请求数据完整逻辑,Android 网路请求列表返回逻辑处理

一、前言:我们在网络请求时,总有分页加载等,处理业务逻辑也是比较混乱的,容易出现各种Bug,下面我这种模式用了很久,记录一下,有任何问题,欢迎指正。二、方式一:采用 SmartRefreshLayout框架,下拉刷新采用autoRefresh(),上拉加载更多是根据addOnScrollListener()自定义写的。注意:什么时候加载更多,完全可以自定义。(本文是滑动到数据一半,开始加载更多。)...

weixin_39582737的博客 363

CAPL概述与环境搭建

CANoe和CANalyzer是Vector公司开发的两款用于汽车电子系统开发和测试的工具。CANoe主要用于网络开发、仿真和测试,而CANalyzer则主要用于网络分析和诊断。两者都支持CAPL脚本语言,可以用于编写复杂的测试脚本和仿真模型。CAPL Browser是CANoe/CANalyzer中用于编写、编辑和调试CAPL脚本的工具。它提供了一个集成的开发环境,支持语法高亮、代码自动补全、调试等功能。菜单栏:包含文件操作、编辑、编译、调试等功能。工具栏。

闲人编程的博客 1664

YOLO系列专栏(十二):YOLO26行业落地实战(三):无人机航拍场景——户外巡检(机载边缘计算+YOLO26)

无人机航拍巡检场景,面临机载设备算力/显存有限、高空航拍目标小、户外环境复杂(风力、光线变化)、图像抖动等问题,对模型的轻量化、实时性、小目标检测能力要求极高。YOLO26相比传统模型,在该场景中具备三大核心优势:✅ 极致轻量化:INT8量化+模型剪枝后,模型体积可压缩至5MB以内,显存占用控制在512MB以内,适配Jetson Xavier NX等机载边缘计算设备;✅ 小目标检测能力强:优化检测头与锚框配置,可精准识别高空航拍中的小尺寸目标(如线路断股、绝缘子裂纹),检测准确率高;

qq_36130719的博客 258

SmartRefreshLayout基本使用

SmartRefreshLayout 的 github地址: https://github.com/scwang90/SmartRefreshLayout介绍一个智能下拉刷新、上拉加载框架, 扩展性强

Master-D的博客 1085

Altium Designer(AD24/25)PCB编辑的几种方法介绍

本文介绍了Altium Designer(AD24/25)软件中PCB编辑的四种操作方法:1)通过菜单栏"Place→Component"激活;2)点击工具栏元器件图标;3)右键快捷菜单选择;4)快捷键P+C组合操作。建议初学者先通过菜单栏和快捷菜单熟悉操作,熟练后转为工具栏和快捷键以提高效率。文章配有操作示意图,帮助用户快速掌握PCB元器件放置技巧。

fydar的博客 944

探索SHSwipeRefreshLayout:高效的下拉刷新与上拉加载库

探索SHSwipeRefreshLayout:高效的下拉刷新与上拉加载库 在移动应用开发中,下拉刷新和上拉加载是提升用户体验的关键功能。今天,我们将介绍一个强大的开源项目——SHSwipeRefreshLayout,它不仅支持这些基本功能,还提供了丰富的自定义选项和灵活的技术支持。 项目介绍 SHSwipeRefreshLayout是由miomin开发的一个Android库,旨在简化下拉刷新和上拉...

gitblog_00965的博客 964

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

推荐开源项目:QRefreshLayout - 刷新加载库

推荐开源项目:QRefreshLayout - 刷新加载库 项目简介 是一个强大的Android刷新和加载更多的库,由开发者ZhangXQ贡献并维护。它旨在为你的应用提供流畅、易于集成的上拉刷新和下拉加载功能,适用于多种复杂的布局场景,如列表、网格、瀑布流等。 技术分析 QRefreshLayout的核心在于其高度可定制化的设计。它基于Android的CoordinatorLayout和Neste...

gitblog_00005的博客 439

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android 一个强大的刷新库(下拉刷新、上拉加载更多)

下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。github地址

追梦的鱼儿 1610

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

flutter版的下拉刷新,上拉加载库flutter_pulltorefresh

直接放上github地址: https://github.com/peng8350/flutter_pulltorefresh/blob/master/README_CN.md 只能说超级好用,可定制性高,里面存在的bug少,用这个感觉都可以不用SingleChildScrollView这个控件了。 用法: dependencies: pull_to_refresh: ^1.5.0...

徐代龙的技术专栏 8832

Flutter 库:强大的下拉刷新上拉加载框架——EasyRefresh

wakelock 是允许您保持设备屏幕唤醒的插件,即防止屏幕睡眠。该插件允许您启用和切换屏幕唤醒锁,从而防止屏幕自动关闭。从本质上讲,这使您可以保持设备处于唤醒状态,即防止设备进入睡眠状态。

訾博(ZiBo)的博客 7872

android下拉刷新和上拉加载的一个简单库

介绍一个android下拉刷新、上拉加载的库: https://github.com/chrisbanes/Android-PullToRefresh 使用方式,创建好一个Android项目,导入library库即可: 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

lyhDream的专栏 1105

android使用SmartRefreshLayout库实现下拉刷新和上拉加载

android使用SmartRefreshLayout库实现下拉刷新和上拉加载

热爱编程,热爱技术 466

better-scroll库实现上拉加载下拉刷新

实现上拉加载下拉下拉刷新

weixin_47392228的博客 583

RecyclerView刷新加载库-SRecyclerView

前言 最近在使用前段时间 “业余时间" 项目中封装的 RecyclerView 时,发现了好几个问题,比如:刷新头部和加载尾部耦合性太高,要是以后想换个刷新头部或加载尾部,必然改动很大,不利于扩展,刷新手势处理和加载更多的逻辑也有点小问题,于是乎,换了一种思路重新封装了一下,核心思想就是:该控件的一些配置,比如刷新头部和加载尾部,刷新头的高度,动画时间等等,都方便扩展和重设置,而且可以很...

小河的博客 2258

复杂type页面封装库,支持多种状态切换和下拉刷新上拉加载 ...

目录介绍 1.复杂页面库介绍 2.本库优势亮点 2.1 支持多种状态切换管理 2.2 支持添加多个header和footer 2.3 支持侧滑功能和拖拽移动 2.4 其他亮点介绍 3.如何使用介绍 3.1 最基础的使用 3.2 添加下拉刷新和加载更多监听 3.3 添加header和footer操作 3.4 设置数据和刷新 3.5 设置ada...

weixin_34405925的博客 267

推荐开源项目:CircleRecyclerView —— 环形布局的刷新与加载库

推荐开源项目:CircleRecyclerView —— 环形布局的刷新与加载库 项目简介 在移动应用开发中,创新的界面设计总能吸引用户的注意力。 是一个专为 Android 设计的开源库,它实现了环形布局,用于显示数据列表,并支持上拉加载和下拉刷新功能。这个项目由开发者 kHRYSTAL 创建并维护,可以轻松集成到你的 Android 应用中,为用户提供独特的交互体验。 技术分析 CircleR...

gitblog_00039的博客 725

iOS常用下拉刷新上拉加载库MJRefresh使用说明

简介 项目主页地址:MJRefresh 项目下载地址:点击下载 适用范围:可用于常见控件 UIScrollView、UITableView、UICollectionView、UIWebView 实现上拉刷新和下拉加载的效果。 ARC iOS&gt;=6.0 iPhone \ iPad screen anyway 加入项目方式: CocoaPods安装:pod 'MJRefresh' ...

sinat_32283541的博客 2724
上一篇: 使用阿里云实现简单的直播
下一篇: APP本地数据库简单操作和升级(Android/Flutter)
尘彦
博客等级 码龄11年 92粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘彦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值