昨天没有写博客。心里非常罪过呀,今天给大家写两种比較常见的下拉刷新的用法。一款是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学习之两款下拉刷新库分享的更多相关文章

  1. Android学习之listview的下拉刷新、上拉载入

    本例是在上例的基础上完成的.本例实现的listview上拉载入.下拉刷新功能,是在开源网站上别人写好的listview,主要是对listview的控件进行重写,添加了footer和header. 1. ...

  2. Android几种强大的下拉刷新库

    BeautifulRefreshLayout 众多优秀的下拉刷新(除了我写的之外T_T) 说起下拉刷新,好像经历一段历史的洗礼... (1)在我刚学android的时候,用的是XListView,在g ...

  3. Android UI--自定义ListView(实现下拉刷新+加载更多)

    Android UI--自定义ListView(实现下拉刷新+加载更多) 关于实现ListView下拉刷新和加载更多的实现,我想网上一搜就一堆.不过我就没发现比较实用的,要不就是实现起来太复杂,要不就 ...

  4. Android-PullToRefresh下拉刷新库基本用法

    How:(使用) 转自:http://blog.csdn.net/hantangsongming/article/details/42490277 PullToRefresh是一套实现非常好的下拉刷新 ...

  5. 【转载】 Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

    Android下拉刷新pullToRefreshListViewGridView 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/3 ...

  6. Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:[张鸿洋的博客] 群里一哥们今天聊天偶然提到这个git ...

  7. Android PullToRefresh (ListView GridView 下拉刷新) 使用详解 (转载)

    最近项目用到下拉刷新,上来加载更多,这里对PullToRefresh这控件进行了解和使用. 以下内容转载自:http://blog.csdn.net/lmj623565791/article/deta ...

  8. Android之RecyclerView轻松实现下拉刷新和加载更多

    今天研究了下RecyclerView的滑动事件,特别是下拉刷新和加载更多事件,在现在几乎所有的APP显示数据列表时都用到了.自定义RecyclerView下拉刷新和加载更多听上去很复杂,实际上并不难, ...

  9. Android自定义控件之仿美团下拉刷新

    美团的下拉刷新分为三个状态: 第一个状态为下拉刷新状态(pull to refresh),在这个状态下是一个绿色的椭圆随着下拉的距离动态改变其大小. 第二个部分为放开刷新状态(release to r ...

随机推荐

  1. Python Socket 编程——聊天室演示样例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket ...

  2. mysql数据库安装、启动及权限设置

    1. 安装需安装mysql客户端和服务器端. Centos下,可用命令:yum install mysql安装mysql客户端:使用命令:yum install mysql-server安装mysql ...

  3. com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "ExceptionId"

    com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "Exception ...

  4. Global Times 单词(日常收集)

    1. 2013-09-09 windfall 英[ˈwɪndfɔ:l] 美[ˈwɪndˌfɔl] n.意外之财:被风吹落的果子:意外的收获 eg:Only half made any attempt ...

  5. ADBport被占用,adb server is out of date

    wd=adb&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YdPWD1uyP-PHf1ryRYP1Nh0ZwV5Hcvrj ...

  6. HDU 5005(Compromise-双人目标为最大化不同值的博弈)

    Compromise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total ...

  7. 【mysql】主键、普通索引、唯一索引和全文索引的比较

    YSQL索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录 开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记 ...

  8. Hexo快速搭建静态博客并实现远程VPS自动部署

    这篇文章将如何搭建hexo,以及如何通过git webhooks实现远程vps的自动部署 这篇文件适合的条件: 简单的用于个人博客.公司博客展示,hexo的定位是静态博客,要实现动态服务器的功能并不适 ...

  9. Django模版中的过滤器详细解析 Django filter大全

    就象本章前面提到的一样,模板过滤器是在变量被显示前修改它的值的一个简单方法. 过滤器看起来是这样的: {{ name|lower }} 显示的内容是变量 {{ name }} 被过滤器 lower 处 ...

  10. GOF对Builder模式的定义(转载)

    (1)意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. (2)适用性 1. 当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式:2. 当构造过程必须允许构 ...