之前一直都想用下拉刷新,感觉上是庞大的工程,所以搁置了。现在学习了一下其实真的超级简单。

看了《第一行代码》以及 https://www.jianshu.com/p/3c402a9e4b7d文章

看上去是真的简单。SwipeRefreshLayout下嵌套一个控件

1.布局代码

  1. <android.support.v4.widget.SwipeRefreshLayout
  2. android:id="@+id/mswipeRefreshLayout"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent" >
  5.  
  6. <WebView
  7. android:id="@+id/mwebview"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent"
  10. >
  11. </WebView>
  12. </android.support.v4.widget.SwipeRefreshLayout>

混编的app,这里嵌套了一个webview

2.Activity代码

  1. mSwipe = findViewById(R.id.mswipeRefreshLayout);
  2.  
  3. private void setSwipe() {
  4. /*
  5. * 设置下拉刷新球颜色
  6. */
  7. mSwipe.setColorSchemeResources(R.color.swipeColor1,R.color.swipeColor2,R.color.swipeColor3,R.color.swipeColor4,R.color.swipeColor5);
  8. /*
  9. * 设置下拉刷新的监听
  10. */
  11. mSwipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
  12. @Override
  13. public void onRefresh() {
  14. //刷新需执行的操作
  15. }
  16. });
  17. }

我们可以在res/values/colors.xml文件中设置我们想要的颜色

  1. <color name="swipeColor1">#3F51B5</color>
  2. <color name="swipeColor2">#000000</color>
  3. ......

加载完毕后需要关闭下拉刷新球

  1. mSwipe.setRefreshing(false);

3.打开页面自动刷新

  1. mSwipe.measure(0,0);
    mSwipe.setRefreshing(true);

在onMeasure之前 单独使用setRefreshing(true)是没有效果的

还可以复写onWindowFocusChanged当页面获得焦点的时刷新

  1. @Override
  2. public void onWindowFocusChanged(boolean hasFocus) {
  3. super.onWindowFocusChanged(hasFocus);
  4. mSwipe.setRefreshing(true);
  5. }

也可以放到ui线程消息循环中排队

  1. mSwipe.post(new Runnable() {
  2.  
  3. @Override
  4. public void run() {
  5. mSwipe.setRefreshing(true);
  6. }
  7. });

在刷新结束后关闭刷新球

  1. public void SwipeIsFinish(){
  2. if (mSwipe.isRefreshing()) {
  3. mSwipe.setRefreshing(false);
  4. }
  5. }

Android下拉刷新SwipeRefreshLayout简单用法的更多相关文章

  1. Android下拉刷新-SwipeRefreshLayout,RecyclerView完全解析之下拉刷新与上拉加载SwipeRefreshLayout)

    SwipeRefrshLayout是Google官方更新的一个Widget,可以实现下拉刷新的效果.该控件集成自ViewGroup在support-v4兼容包下,不过我们需要升级supportlibr ...

  2. Android下拉刷新-SwipeRefreshLayout

    现在市面上新闻类的App基本上都有下拉刷新,算是一个标配吧,网上关于下拉刷新的博客也有很多,实现方式可以使用开源的PullToRefresh,自定义ListView,或者可以直接使用LineLayOu ...

  3. Android Material Design控件使用(四)——下拉刷新 SwipeRefreshLayout

    使用下拉刷新SwipeRefreshLayout 说明 SwipeRefreshLayout是Android官方的一个下拉刷新控件,一般我们使用此布局和一个RecyclerView嵌套使用 使用 xm ...

  4. Android 下拉刷新

    以前旧版用的是开源的PullToRefresh第三方库,该库现在已经不再维护了: chrisbanes/Android-PullToRefreshhttps://github.com/chrisban ...

  5. Android 下拉刷新上拉载入 多种应用场景 超级大放送(上)

    转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017 关于Android下拉刷新上拉载入,网上的Demo太多太多了,这 ...

  6. Android下拉刷新效果实现

    本文主要包括以下内容 自定义实现pulltorefreshView 使用google官方SwipeRefreshLayout 下拉刷新大致原理 判断当前是否在最上面而且是向下滑的,如果是的话,则加载数 ...

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

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

  8. 【原创】窥视懒人的秘密---android下拉刷新开启手势的新纪元

    小飒的成长史原创作品:窥视懒人的秘密---android下拉刷新开启手势的新纪元转载请注明出处 **************************************************** ...

  9. Android listview下拉刷新 SwipeRefreshLayout

    今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...

随机推荐

  1. L12 Transformer

    Transformer 在之前的章节中,我们已经介绍了主流的神经网络架构如卷积神经网络(CNNs)和循环神经网络(RNNs).让我们进行一些回顾: CNNs 易于并行化,却不适合捕捉变长序列内的依赖关 ...

  2. L9循环神经网络进阶 ModernRNN

    GRU RNN存在的问题:梯度较容易出现衰减或爆炸(BPTT) ⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系 RNN: Ht=ϕ(XtWxh+Ht−1Whh+bh) H_{t} = ϕ(X ...

  3. U - Obtain a Permutation CodeForces - 1294E 思维

    题解: 注意每一列与每一列之间互不影响,所以贪心地求出没一列的最小操作值,然后累加起来. 怎么求没一列的最小值呢?维护一个数组same表示其中same[i]=j表示将该序列向上翻滚i次有j个元素归位, ...

  4. PHP xml 外部实体注入漏洞学习

    XML与xxe注入基础知识 1.XMl定义 XML由3个部分构成,它们分别是:文档类型定义(Document Type Definition,DTD),即XML的布局语言:可扩展的样式语言(Exten ...

  5. 数值计算方法实验之按照按三弯矩方程及追赶法的三次样条插值 (MATLAB 代码)

    一.实验目的 在已知f(x),x∈[a,b]的表达式,但函数值不便计算,或不知f(x),x∈[a,b]而又需要给出其在[a,b]上的值时,按插值原则f(xi)= yi(i= 0,1…….,n)求出简单 ...

  6. pytorch 中交叉熵损失实现方法

  7. Python爬取全球疫情数据,实现可视化显示地图数据(附代码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 武汉地区,目前已经实现住院患者清零了,国内疫情已经稳定,然而中国以外新冠确 ...

  8. 设计可靠的udp

    推荐链接: https://www.cnblogs.com/lixiang-share/p/7152870.html

  9. Windows环境,获取当前线程的ID,GetCurrentThreadId

    GetCurrentThreadId 打印格式:0x%08lx 头文件:processthreadsapi.h (include Windows Server 2003, Windows Vista, ...

  10. CSS躬行记(8)——裁剪和遮罩

    一. 裁剪 裁剪(clipping)能让元素显示指定形状的区域,在布局时可起点缀的作用,丰富了视觉呈现.注意,裁剪本质上只是让元素的部分区域透明,由此可知,裁剪完后元素所占的空间仍旧会保留.裁剪最早是 ...