Android学习之两款下拉刷新库分享
昨天没有写博客。心里非常罪过呀,今天给大家写两种比較常见的下拉刷新的用法。一款是SwipeRefreshLayout,一款是CircleRefreshLayout。
SwipeRefreshLayout的用法
贴下布局:
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/laySwipeRefresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.example.boao.widget.AutoRecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
能够看到SwipeRefreshLayout是基于v4包,那就表面这是谷歌官方在推荐使用的,仅仅要加入了v4包即可了
简单的布局设置,就是用SwipeRefreshLayout包括RecyclerView,ListView,GridView都能够的。
如今我们看看在代码中怎么使用的吧
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
getDatas();
}
});
实例化SwipeRefreshLayout我就不谈了,调用SwipeRefreshLayout的setOnRefreshListener方法,监听载入事件,在onRefresh() 方法中调用请求数据的方法,来刷新数据
当然这还没有完,由于还没设置刷新的结束
在请求数据成功之后调用swipeRefreshLayout.setRefreshing(false);方法,设置不刷新,即可了。
SwipeRefreshLayout刷新的效果展示
SwipeRefreshLayout包括的方法远远不至于此。在贴上SwipeRefreshLayout包括的方法
从上往下依次是:
1.设置刷新圆圈的大小
2.设置是否刷新
3.设置刷新的背景色
4.同上
5.设置触发刷新的下拉距离
6.设置刷新的背景颜色
好啦。SwipeRefreshLayout就介绍到这。
下一步介绍CircleRefreshLayout
这是一个第三方库https://github.com/tuesda/CircleRefreshLayout,用法相似swipeRefreshLayout,
贴上效果图,看大家想不想用
用法
<com.tuesda.walker.circlerefresh.CircleRefreshLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
app:AniBackColor="#ff8b90af"
app:AniForeColor="#ffffffff"
app:CircleSmaller="6"
android:id="@+id/refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:background="#ffffffff"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
</com.tuesda.walker.circlerefresh.CircleRefreshLayout>
通第一款一样,都是包括列表布局
mRefreshLayout.setOnRefreshListener(
new CircleRefreshLayout.OnCircleRefreshListener() {
@Override
public void refreshing() {
// do something when refresh starts
}
@Override
public void completeRefresh() {
// do something when refresh complete
}
});
在refreshing()方法中调用请求数据方法。completeRefresh()不用做什么操作。在请求接口成功后
调用mRefreshLayout.finishRefreshing();来停止刷新,跟swipeRefreshLayout全然一样
遗憾的是这个库没有设置加入依赖的方法,不能直接加入依赖来用,所以要用的话须要集成到项目中
以下来看我的集成结构图
将源代码下载下来,集成也非常easy,大家试试吧,今天的学习就到这咯
Android学习之两款下拉刷新库分享的更多相关文章
- Android学习之listview的下拉刷新、上拉载入
本例是在上例的基础上完成的.本例实现的listview上拉载入.下拉刷新功能,是在开源网站上别人写好的listview,主要是对listview的控件进行重写,添加了footer和header. 1. ...
- Android几种强大的下拉刷新库
BeautifulRefreshLayout 众多优秀的下拉刷新(除了我写的之外T_T) 说起下拉刷新,好像经历一段历史的洗礼... (1)在我刚学android的时候,用的是XListView,在g ...
- Android UI--自定义ListView(实现下拉刷新+加载更多)
Android UI--自定义ListView(实现下拉刷新+加载更多) 关于实现ListView下拉刷新和加载更多的实现,我想网上一搜就一堆.不过我就没发现比较实用的,要不就是实现起来太复杂,要不就 ...
- Android-PullToRefresh下拉刷新库基本用法
How:(使用) 转自:http://blog.csdn.net/hantangsongming/article/details/42490277 PullToRefresh是一套实现非常好的下拉刷新 ...
- 【转载】 Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
Android下拉刷新pullToRefreshListViewGridView 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/3 ...
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:[张鸿洋的博客] 群里一哥们今天聊天偶然提到这个git ...
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解 (转载)
最近项目用到下拉刷新,上来加载更多,这里对PullToRefresh这控件进行了解和使用. 以下内容转载自:http://blog.csdn.net/lmj623565791/article/deta ...
- Android之RecyclerView轻松实现下拉刷新和加载更多
今天研究了下RecyclerView的滑动事件,特别是下拉刷新和加载更多事件,在现在几乎所有的APP显示数据列表时都用到了.自定义RecyclerView下拉刷新和加载更多听上去很复杂,实际上并不难, ...
- Android自定义控件之仿美团下拉刷新
美团的下拉刷新分为三个状态: 第一个状态为下拉刷新状态(pull to refresh),在这个状态下是一个绿色的椭圆随着下拉的距离动态改变其大小. 第二个部分为放开刷新状态(release to r ...
随机推荐
- JQuery中attr属性和jQuery.data()学习笔记
用html直接data-key来存放,key必须全部小写. <div data-mydata="123"></div> consoloe.log($(&qu ...
- ionic的加载功能
下面是代码(黄色背景的是加载功能的代码): <html ng-app="ionicApp"> <head> <meta charset="u ...
- 从错误中学python(2)————字符串转浮点数
题目 自己编写函数:利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456: 题目来源--致敬廖雪峰 解决过程 初步的解决方法 def str2f ...
- 自己定义UIView以实现自绘
有时候我们须要自绘uiview以实现自己的需求,比方依据坐标点绘制出连续的曲线(股票走势图),就须要自绘uiview了. 原理:继承uiview类(customView),并实现custom view ...
- Learning English From Android Source Code:1
英语在软件行业的重要作用不言自明,尤其是做国际项目和写国际软件,好的英语表达是项目顺利进行的必要条件.纵观眼下的IT行业.可以流利的与国外客户英文口语交流的程序猿占比并非非常高.要想去国际接轨,语言这 ...
- jQuery获取select中全部option值
<select id="language"> <option value="">请选择</option> <optio ...
- e.keycode详解
function submitLoginForm(e) { e = window.event || e; if(e.keyCode == 13) { login(); } } keycode 8 = ...
- 总结一些js自定义的函数
1.dayin() 作用:将id为dayin的内容,新建页面并打印,可解决打印某页面中的部分内容的问题. 使用方法:将要打印的内容通过 <span id="dayin"> ...
- mosquitto ---配置SSL/TLS
在服务器电脑上面创建myCA文件夹, 如在/home/qa/ 文件夹下使用命令, mkdir myCA 然后执行以下命令,我们将创建并使用其他用户没有权限访问的目录. sudo chmod 700cd ...
- EF4.1 企业架构模式 自动映射数据表(转载)
在讲解之前,先来看看解决方案的架构: 1.在Nop.Core下的Domain里建立一个实体Category:2.在Nop.Data下的Mapping\Catatog\下建立一个数据表映射Categor ...