下拉刷新?我看好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 ...
最新文章
- ad 原理图差分线_采用差分PulSAR ADC AD7982转换单端信号电路图
- 洛谷 P1703 那个什么密码2
- 面对大规模 K8s 集群,如何先于用户发现问题?
- 如果公司的网络屏蔽了游戏【英雄联盟】的链接请求,使用这种方法玩游戏。
- python自动化工具开发_初识TPOT:一个基于Python的自动化机器学习开发工具
- .net平台是什么?.net平台的组成,.net平台的好处
- python卡方分布计算
- asciidoc文件阅读_可搜索的文件? 是的你可以。 选择AsciiDoc的另一个原因
- TCP/IP入门(3) --传输层
- 百度利用AI技术8、9月打击超83亿条有害信息
- python获取cookie值的方法_Python获取Cookie、设置Cookie的N种方法
- 【游戏周边】Unity,UDK,Unreal Engine4或者CryENGINE——我应该选择哪一个游戏引擎...
- 波粒二象性及波尔电子轨道理论
- MySQL常见运算符详解
- ubuntu18.04安装五笔输入法
- windows10任务栏一直转圈-无法操作假死状态
- 类似京东商城客户端应用源码
- sublime text 白色边框方框解决方法
- mysql=mariadb
- Hyperledger Fabric 实战(十二): Fabric 源码本地调试
热门文章
- 数独-比回溯法更优的人类思维逻辑的数独解法
- DevExpress 报表 格式化
- 前端js正则表达式2
- 用java实现查询年份的生肖
- 如何推广网站 网站推广增加访问量的29种方法
- SQL Server 数据库之数据完整性
- 2022年N1叉车司机考试题目及答案
- 奖券数目2.1题目描述有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是N位数,要求其中不要出现带
- 一篇读懂jvm垃圾回收
- Linux运行权限1009无标题,Linux权限管理练习