谈一谈下拉刷新

下拉刷新不再是很高大上的东西了,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. lnmp shell安装脚本
  2. tomcat启动一直报空指针错误
  3. jQuery左右选择框
  4. 插入排序之——希尔排序(c/c++)
  5. axure7 地址选择_AxureRP8实战手册-案例7(形状:唯一选中项)
  6. linux进程中对信号的屏蔽,linux进程中的信号屏蔽
  7. svm预测结果为同一个值_实战:用SVM算法进行乳腺癌预测
  8. Java Web学习(七)HttpServletResponse(客户端响应)
  9. Go实现Raft第三篇:命令和日志复制
  10. pytorch 方法笔记
  11. 盘点论文免费下载的国内外网站
  12. 启发式算法(Heuristic)概述
  13. 【微生物相关数据库】NAR database issue
  14. VUCA时代:软件架构解决复杂性之道
  15. flutter中android子工程报错,Flutter混合Android
  16. 安装 Adblock plus 插件彻底屏蔽Chrome 浏览器上的广告 以及Adblock plus 的使用教程(亲测有效)
  17. 网络基础—HTTP、HTPPS、GET、POST、Socket
  18. VIM编辑器不能wq退出
  19. 如何修改PyCharm窗口背景颜色?
  20. [CANFD] 高波特率下收发器延时的处理机制-Transceiver delay compensation

热门文章

  1. 冲突声明(conflicting declaration)解决
  2. mysql 校对规则_MySQL:校对规则
  3. 波士顿学院计算机科学专业,波士顿学院计算机专业好吗?_托普仕留学
  4. 【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(一) 进程信息查看
  5. 计算机上安装的网络协议,win10系统正确安装网络协议的方法
  6. 中国5级行政区域MySQL数据库库
  7. JAVA实现Tom猫
  8. 【微服务】Nacos 注册中心的设计原理
  9. [培养锻炼能力][耳机]耳机线断裂维修经验
  10. 《三天三夜》创作者去世,曾一边写歌一边编程