下拉刷新?我看好MaterialRefreshLayout!
谈一谈下拉刷新
下拉刷新不再是很高大上的东西了,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!相关推荐
- materialrefeshlayout下拉刷新,上拉加载更多
1.添加依赖:compile 'com.cjj.materialrefeshlayout:library:1.3.0' 2.布局中添加控件,包裹list控件 <com.cjj.Materi ...
- 微信小程序下拉刷新和上拉加载
效果图 微信小程序实现下拉刷新和上拉加载有2中方法 1 用系统自带的 个人感觉特别简单 2 使用scroll-view 实现, scroll-view 里面有2个属性是滑动到顶部以及到底部如下 其实 ...
- android google 下拉刷新 csdn,android SwipeRefreshLayout google官方下拉刷新控件
下拉刷新功能之前一直使用的是XlistView很方便我前面的博客有介绍 SwipeRefreshLayout是google官方推出的下拉刷新控件使用方法也比较简单 今天就来使用下SwipeRefres ...
- 使用Vant框架的组件van-pull-refresh搭配van-list和van-card完成上滑加载更多列表数据,下拉刷新当前列表数据(等同于翻页功能)
<template><div class="sg-page-body"><div class="sg-list"><v ...
- 微信小程序下拉刷新和上拉加载的实现
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 正文: 一: 下拉刷新 下拉刷新两个步骤就能实现. 1.在要实现下拉刷新的页面的json配置文件里面加上 &q ...
- 微信小程序订单页面下拉刷新上拉分页加载
微信小程序开发交流qq群 581478349 承接微信小程序开发.扫码加微信. 正文: 效果图: 代码: json代码: {"enablePullDownRefresh" ...
- 20-flutter下拉刷新与上拉加载
1 RefreshIndicator 下拉刷新控件 下拉刷新的时候会回调 onRefresh 方法 RefreshIndicator(onRefresh: _handleRefresh,child: ...
- refreshcontrol 实现下拉刷新的功能
该组件实现下拉刷新的功能.不过该组件是用在ScrollView的内部的,为ScrollView添加一个下拉刷新的功能.当ScrollView的垂直方向的偏移量scrollY:0的时候,手指往下拖拽Sc ...
- 使用Google 官方的控件SwipeRefreshLayout实现下拉刷新功能
之前做东西的时候,经常会用到下拉刷新的功能,之前大家都在使用Github上的一个很著名的开源项目 PullToRefresh 但是,现在好消息来了,google在19.1版本的support-v4兼容 ...
- 安卓下拉刷新、上拉加载数据显示
整个是一个scrollView,嵌套一个线性布局,下拉刷新.或者上拉加载后,通过addView()方法,加载消息体,每一个消息体是一个复杂的子view. 做一个类似qq客户端"好友动态&qu ...
最新文章
- lnmp shell安装脚本
- tomcat启动一直报空指针错误
- jQuery左右选择框
- 插入排序之——希尔排序(c/c++)
- axure7 地址选择_AxureRP8实战手册-案例7(形状:唯一选中项)
- linux进程中对信号的屏蔽,linux进程中的信号屏蔽
- svm预测结果为同一个值_实战:用SVM算法进行乳腺癌预测
- Java Web学习(七)HttpServletResponse(客户端响应)
- Go实现Raft第三篇:命令和日志复制
- pytorch 方法笔记
- 盘点论文免费下载的国内外网站
- 启发式算法(Heuristic)概述
- 【微生物相关数据库】NAR database issue
- VUCA时代:软件架构解决复杂性之道
- flutter中android子工程报错,Flutter混合Android
- 安装 Adblock plus 插件彻底屏蔽Chrome 浏览器上的广告 以及Adblock plus 的使用教程(亲测有效)
- 网络基础—HTTP、HTPPS、GET、POST、Socket
- VIM编辑器不能wq退出
- 如何修改PyCharm窗口背景颜色?
- [CANFD] 高波特率下收发器延时的处理机制-Transceiver delay compensation
热门文章
- 冲突声明(conflicting declaration)解决
- mysql 校对规则_MySQL:校对规则
- 波士顿学院计算机科学专业,波士顿学院计算机专业好吗?_托普仕留学
- 【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(一) 进程信息查看
- 计算机上安装的网络协议,win10系统正确安装网络协议的方法
- 中国5级行政区域MySQL数据库库
- JAVA实现Tom猫
- 【微服务】Nacos 注册中心的设计原理
- [培养锻炼能力][耳机]耳机线断裂维修经验
- 《三天三夜》创作者去世,曾一边写歌一边编程