之前做东西的时候,经常会用到下拉刷新的功能,之前大家都在使用Github上的一个很著名的开源项目 PullToRefresh

  

  但是,现在好消息来了,google在19.1版本的support-v4兼容包下面正式提供了官方的下拉刷新组件——SwipeRefreshLayout

  注意,你要使用这个组件必须要把你的支持库升级到19.1版本以上

  我们只需要在需要进行刷新的控件外面加上 SwipeRefreshLayout 就可以了  ,但是 ,这个控件的child必须是可滑动的View,比如说ScrollerView或者ListView等

  不多说,直接上代码,布局文件

  

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="fill_parent"
 4     android:layout_height="fill_parent"
 5     android:orientation="vertical"
 6     tools:context="com.android.teypullrepfesh.MainActivity" >
 7
 8     <TextView
 9         android:layout_width="fill_parent"
10         android:layout_height="64dp"
11         android:text="@string/hello_world" />
12
13     <android.support.v4.widget.SwipeRefreshLayout
14         android:id="@+id/refresh_layout"
15         android:layout_width="fill_parent"
16         android:layout_height="match_parent" >
17
18         <ListView
19             android:id="@+id/list"
20             android:layout_width="fill_parent"
21             android:layout_height="match_parent" />
22     </android.support.v4.widget.SwipeRefreshLayout>
23
24 </LinearLayout>

activity_main.xml

  然后在代码中的使用也很简单

 1 public class MainActivity extends Activity implements OnRefreshListener {
 2
 3     public ListView listView;
 4     public SwipeRefreshLayout refreshLayout;
 5     private String[] mListStr = { "姓名:菜菜", "性别:男", "年龄:20", "居住地:大连",
 6             "邮箱:cwr941012@gmail.com" };
 7     private String[] mListStr_ = { "姓名:翠翠", "性别:男", "年龄:23", "居住地:北京",
 8             "邮箱:cwr941012@gmail.com" };
 9     //定义两个不同的数据源
10     @Override
11     protected void onCreate(Bundle savedInstanceState) {
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_main);
14         listView = (ListView) findViewById(R.id.list);
15         listView.setAdapter(new ArrayAdapter<String>(this,
16                 android.R.layout.simple_list_item_1, mListStr));
17         refreshLayout = (SwipeRefreshLayout) findViewById(R.id.refresh_layout);
18         refreshLayout.setOnRefreshListener(this);
19         //设置一个监听器
20         refreshLayout.setColorSchemeColors(android.R.color.holo_orange_light,
21                 android.R.color.holo_purple, android.R.color.holo_blue_dark,
22                 android.R.color.holo_red_light);
23         //设置刷新条的颜色
24
25     }
26
27     @Override
28     public void onRefresh() {
29         // TODO Auto-generated method stub
30         new Handler().postDelayed(new Runnable() {
31             public void run() {
32                 listView.setAdapter(new ArrayAdapter<String>(MainActivity.this,
33                         android.R.layout.simple_list_item_1, mListStr_));
34                 refreshLayout.setRefreshing(false);
35             }
36         }, 5000);
37
38     }
39 }

MainActivity.java

  在这里面,重写了 onRefresh() 函数进行刷新之中的操作

  基本上就是这样了,希望google能尽快把下拉加载更多的功能也添加进去就更加完美了

转载于:https://www.cnblogs.com/cwr941012/p/4110636.html

使用Google 官方的控件SwipeRefreshLayout实现下拉刷新功能相关推荐

  1. android pulldown view,Android控件PullRefreshViewGroup实现下拉刷新和上拉加载

    本文实例为大家分享了Android实现下拉刷新和上拉加载更多的具体代码,供大家参考,具体内容如下 先分享下源码:Android实现下拉刷新和上拉加载更多 实现思路:由PullRefreshViewGr ...

  2. SwipeRefreshLayout实现下拉刷新功能

    在Android5.0的v4包中,Google提供了SwipeRefreshLayout控件,用来执行下拉刷新的效果. XML: <?xml version="1.0" en ...

  3. android--------自定义控件ListView实现下拉刷新和上拉加载

    开发项目过程中基本都会用到listView的下拉刷新和上滑加载更多,为了方便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能. Android下拉刷新可以分为两种情况: 1.获取 ...

  4. AlphaControls 控件 TsFrameBar 创建下拉式多级导航菜单

    AlphaControls 控件 TsFrameBar 创建下拉式多级导航菜单 TsFrameBar控件是创建一个下拉菜单的工具块.     TsFrameBar控件本身,可以通过创建TITEMS,自 ...

  5. android官方自带下拉刷新功能

    最近想写下拉刷新功能,网上找的第三方框架最著名的pullToRefresh也早在2013年停止维护了,偶然间发现谷歌公司早已推出了自家的下拉刷新功能,位于v4包中,效果请看下图: 使用的就是andro ...

  6. 直播电商软件开发,下拉刷新

    直播电商软件开发,下拉刷新实现的相关代码 使用页面生命周期 onPullDownRefresh,当处理完数据刷新后,uni.stopPullDownRefresh 可以停止当前页面的下拉刷新 onPu ...

  7. Android使用SwipeRefreshLayout实现下拉刷新

    Android连接mysql数据库,实现下拉刷新(简易新闻 三) 关于之前的功能实现可以从制作简易新闻App导航篇中查看 首先看一下效果: 采用swipeRefreshLayout,mysql数据库来 ...

  8. MFC_C++02_模态对话框,非模态对话框,StaticText静态文本,CEditCtrl控件,ComboBox下拉框,CListCtrl控件,CTreeCtrl 树控件,TabCtrl标签控件

    01 模态对话框创建 更改标题名: 菜单栏 --> 视图->工具箱 ,找到工具箱 导入两个按钮: 准备对话框: 插入就可以了,更改名称 双击按钮,可以进入点击事件 创建控件的类:右击-&g ...

  9. 使用RecyclverView和SwipeRefreshLayout实现下拉刷新和上拉加载效果

    一.布局XML 二.Java代码 三.别忘了在清单文件中添加网络权限 <uses-permission android:name="android.permission.INTERNE ...

最新文章

  1. 基于HTML5的WebGL结合Box2DJS物理应用
  2. les物流执行系统_物流规划工作如何开展?
  3. 不同品牌的内存条可以混用吗_混用不同品牌护肤品的技巧
  4. STL——萃取机制(Traits)
  5. Centos7构建NFS服务器和连接
  6. 上交大计算机复试机师难不难,本科复旦,考研上海交大复试第一,我感觉难度并不大...
  7. WordPress建站指南
  8. 手机的余存电量还有多少的时候适合充电?
  9. 导入新项目报错 Hibernate提示:No generator named ID_GENERATOR is defined in the persistence unit
  10. PYTHON: PYENV, PYVENV, VIRTUALENV – WHAT’S THE DIFFERENCE?
  11. 代码中大量的if/else,你有什么优化方案?
  12. MVC中 关于退出按钮的写法
  13. python求圆周率马青公式_计算圆周率的马青公式
  14. 计算机无法打开注册表,电脑无法打开注册表怎么办
  15. 深圳计师需要全国计算机证吗,深圳入户需要什么技师证
  16. Inflate使用小结
  17. [金工实习报告]金工实习基本方法,车工/焊接/钳工/铣工/铸造/安全生产/3D打印等
  18. RxSwift-内存管理
  19. 计算机模拟电子云密度,小知识:分子动力学基本原理及应用
  20. zabbix_get [71696]: Check access restrictions in Zabbix agent configuration

热门文章

  1. CSS-in-JS的权衡
  2. guice google_与Google Guice的动手实践
  3. pmp考试标准有哪些?
  4. 学Java需要用到的软件快收藏!
  5. MyBatis框架添加客户有哪些步骤
  6. 学习Python有什么优势?
  7. Linux入门(四)
  8. avascript中的this与函数讲解
  9. 在winform中从外部拖动节点到树形结构(treeview和listview相互拖动)(一)
  10. java vs .net