谈一谈下拉刷新

下拉刷新不再是很高大上的东西了,Android应用必不可少的一个存在,大部分的下拉刷新都是基于基本组件的如:ListView,GridView之类的,不同的组件用的布局是不一样的,虽然功能强大,但是难免切换来切换去会烦。Google考虑到这一点,在V4的包中给我们提供了一个简单且牛逼的组件库就是SwipeLayout。

SwipeLayout是从ViewGroup的层面上动刀,不再依赖于某个基本的控件,它是全通用的,看起来是不是很牛逼,但是Google并没有为这个组件提供给上拉加载的回调,需要我们自己去写,虽然很简单能实现,但是依旧感觉很烦,有没有简单集成并且所有组件通用的下拉组件吗?有,自己去写吧,哈哈,不过我推荐一种相对于比较完美的一个下拉组件:MaterialRefreshLayout,它也是在SwipeLayout的基础上封装的

一、MaterialRefreshLayout的简单集成

引入 compile 'com.cjj.materialrefeshlayout:library:1.3.0'

在打开你的项目中的Gradle文件夹中的builder.gradle文件

二、MaterialRefreshLayout使用

<com.cjj.MaterialRefreshLayoutandroid:id="@+id/refresh"xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"app:overlay="false"app:wave_show="true"><ListViewandroid:id="@+id/listview"android:layout_width="match_parent"android:layout_height="match_parent"/>
</com.cjj.MaterialRefreshLayout>

效果图:

如果你把其中的一个属性改成app:overlay="true"

效果为:

很明显唯一的区别就是下拉的布局是否会覆盖listview的布局

另外,你在xml中还要加上一个自定义属性:app:isLoadMore="true",因为MaterialRefreshLayout默认是把上拉关闭的,不加上拉不会起作用的

在介绍几个好玩的属性:

app:wave_color="#61bf5c"改变刷新布局的背景颜色

app:wave_height_type="higher" 改变刷新布局的高度,自己去试

二、MaterialRefreshLayout的使用

private MaterialRefreshLayout mMaterialRefreshLayout;
mMaterialRefreshLayout = (MaterialRefreshLayout) findViewById(R.id.refresh);
mMaterialRefreshLayout.setMaterialRefreshListener(new MaterialRefreshListener() {@Overridepublic void onRefresh(MaterialRefreshLayout materialRefreshLayout) {new Handler().postDelayed(new Runnable() {@Overridepublic void run() {//下拉刷新停止mMaterialRefreshLayout.finishRefresh();}},3000);}@Overridepublic void onRefreshLoadMore(MaterialRefreshLayout materialRefreshLayout) {super.onRefreshLoadMore(materialRefreshLayout);new Handler().postDelayed(new Runnable() {@Overridepublic void run() {//上拉加载停止mMaterialRefreshLayout.finishRefreshLoadMore();}},3000);}
});

使用简单,一看就ok了,写博客好累的,休息,休息一会!

官方提供了6中下拉效果,想要了解更多,请去官方查看

https://github.com/android-cjj/Android-MaterialRefreshLayout

下拉刷新?我看好MaterialRefreshLayout!相关推荐

  1. materialrefeshlayout下拉刷新,上拉加载更多

    1.添加依赖:compile 'com.cjj.materialrefeshlayout:library:1.3.0' 2.布局中添加控件,包裹list控件    <com.cjj.Materi ...

  2. 微信小程序下拉刷新和上拉加载

    效果图 微信小程序实现下拉刷新和上拉加载有2中方法 1 用系统自带的 个人感觉特别简单 2 使用scroll-view  实现, scroll-view 里面有2个属性是滑动到顶部以及到底部如下 其实 ...

  3. android google 下拉刷新 csdn,android SwipeRefreshLayout google官方下拉刷新控件

    下拉刷新功能之前一直使用的是XlistView很方便我前面的博客有介绍 SwipeRefreshLayout是google官方推出的下拉刷新控件使用方法也比较简单 今天就来使用下SwipeRefres ...

  4. 使用Vant框架的组件van-pull-refresh搭配van-list和van-card完成上滑加载更多列表数据,下拉刷新当前列表数据(等同于翻页功能)

    <template><div class="sg-page-body"><div class="sg-list"><v ...

  5. 微信小程序下拉刷新和上拉加载的实现

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: 一: 下拉刷新 下拉刷新两个步骤就能实现. 1.在要实现下拉刷新的页面的json配置文件里面加上 &q ...

  6. 微信小程序订单页面下拉刷新上拉分页加载

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. 正文: 效果图: 代码: json代码: {"enablePullDownRefresh" ...

  7. 20-flutter下拉刷新与上拉加载

    1 RefreshIndicator 下拉刷新控件 下拉刷新的时候会回调 onRefresh 方法 RefreshIndicator(onRefresh: _handleRefresh,child: ...

  8. refreshcontrol 实现下拉刷新的功能

    该组件实现下拉刷新的功能.不过该组件是用在ScrollView的内部的,为ScrollView添加一个下拉刷新的功能.当ScrollView的垂直方向的偏移量scrollY:0的时候,手指往下拖拽Sc ...

  9. 使用Google 官方的控件SwipeRefreshLayout实现下拉刷新功能

    之前做东西的时候,经常会用到下拉刷新的功能,之前大家都在使用Github上的一个很著名的开源项目 PullToRefresh 但是,现在好消息来了,google在19.1版本的support-v4兼容 ...

  10. 安卓下拉刷新、上拉加载数据显示

    整个是一个scrollView,嵌套一个线性布局,下拉刷新.或者上拉加载后,通过addView()方法,加载消息体,每一个消息体是一个复杂的子view. 做一个类似qq客户端"好友动态&qu ...

最新文章

  1. ad 原理图差分线_采用差分PulSAR ADC AD7982转换单端信号电路图
  2. 洛谷 P1703 那个什么密码2
  3. 面对大规模 K8s 集群,如何先于用户发现问题?
  4. 如果公司的网络屏蔽了游戏【英雄联盟】的链接请求,使用这种方法玩游戏。
  5. python自动化工具开发_初识TPOT:一个基于Python的自动化机器学习开发工具
  6. .net平台是什么?.net平台的组成,.net平台的好处
  7. python卡方分布计算
  8. asciidoc文件阅读_可搜索的文件? 是的你可以。 选择AsciiDoc的另一个原因
  9. TCP/IP入门(3) --传输层
  10. 百度利用AI技术8、9月打击超83亿条有害信息
  11. python获取cookie值的方法_Python获取Cookie、设置Cookie的N种方法
  12. 【游戏周边】Unity,UDK,Unreal Engine4或者CryENGINE——我应该选择哪一个游戏引擎...
  13. 波粒二象性及波尔电子轨道理论
  14. MySQL常见运算符详解
  15. ubuntu18.04安装五笔输入法
  16. windows10任务栏一直转圈-无法操作假死状态
  17. 类似京东商城客户端应用源码
  18. sublime text 白色边框方框解决方法
  19. mysql=mariadb
  20. Hyperledger Fabric 实战(十二): Fabric 源码本地调试

热门文章

  1. 数独-比回溯法更优的人类思维逻辑的数独解法
  2. DevExpress 报表 格式化
  3. 前端js正则表达式2
  4. 用java实现查询年份的生肖
  5. 如何推广网站 网站推广增加访问量的29种方法
  6. SQL Server 数据库之数据完整性
  7. 2022年N1叉车司机考试题目及答案
  8. 奖券数目2.1题目描述有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是N位数,要求其中不要出现带
  9. 一篇读懂jvm垃圾回收
  10. Linux运行权限1009无标题,Linux权限管理练习