昨天没有写博客。心里非常罪过呀,今天给大家写两种比較常见的下拉刷新的用法。一款是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. [Functional Programming] Working with two functors(Applicative Functors)-- Part1 --.ap

    What is applicative functor: the ability to apply functors to each other. For example we have tow fu ...

  2. HTTP协议响应消息的常用状态码【转】

    “100″ : Continue(继续) 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) “101″ : Switching Protocols(切换协议) 请求者已要求服 ...

  3. Toast.makeText 方法出错 java.lang.RuntimeException

    接手以前同事留下的代码,今天突然出现了一个bug: java.lang.RuntimeException: Can't create handler inside thread that has no ...

  4. 用php编写我的第一段代码:hello world

    一.php环境的搭建 在编写php前,先搭建php环境,我选择了一站式安装软件WampServer,WampServer的下载地址:http://www.wampserver.com/ WampSer ...

  5. hdu 1035 Robot Motion(dfs)

    虽然做出来了,还是很失望的!!! 加油!!!还是慢慢来吧!!! >>>>>>>>>>>>>>>>> ...

  6. Quartz.NET——作业调度组件

    之前有个旧同事说他在项目中碰到某些功能需要使用到作业调度,于是找到了这个组件,据说相当好用,叫我有时间的话去了解一下.哈,于是小了解了一下,基本的使用算是明白了,深层次的东西就不了解了,本文简单记录一 ...

  7. 基于JUnit3.8的一个简单的测试程序

    实现一个简单的计算 注:目标类和测试类要放在同一包下, JUnit单元测试基础要点 目标类:Calculator.java package com.junit3_8; public class Cal ...

  8. Java静态变量的初始化(static块的本质)

    Java静态变量的初始化(static块的本质) 标签: javaclassstring编译器jdk工作 2010-02-06 07:23 33336人阅读 评论(16) 收藏 举报  分类: Jav ...

  9. STRUTS2配置动态页面

      STRUTS2配置动态页面 CreateTime--2017年5月11日09:00:31Author:Marydon 1.struts配置 <?xml version="1.0&q ...

  10. 解决ssh登录Host key verification failed

    使用SSH登录某台机器,有时因为server端的一些变动,会出现以下信息: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: R ...