热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

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

  

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

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

 

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

 

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

  

1 <LinearLayout xmlns:android&#61;"http://schemas.android.com/apk/res/android"
2 xmlns:tools&#61;"http://schemas.android.com/tools"
3 android:layout_width&#61;"fill_parent"
4 android:layout_height&#61;"fill_parent"
5 android:orientation&#61;"vertical"
6 tools:context&#61;"com.android.teypullrepfesh.MainActivity" >
7
8 <TextView
9 android:layout_width&#61;"fill_parent"
10 android:layout_height&#61;"64dp"
11 android:text&#61;"&#64;string/hello_world" />
12
13 <android.support.v4.widget.SwipeRefreshLayout
14 android:id&#61;"&#64;&#43;id/refresh_layout"
15 android:layout_width&#61;"fill_parent"
16 android:layout_height&#61;"match_parent" >
17
18 <ListView
19 android:id&#61;"&#64;&#43;id/list"
20 android:layout_width&#61;"fill_parent"
21 android:layout_height&#61;"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 &#61; { "姓名&#xff1a;菜菜", "性别&#xff1a;男", "年龄&#xff1a;20", "居住地&#xff1a;大连",
6 "邮箱&#xff1a;cwr941012&#64;gmail.com" };
7 private String[] mListStr_ &#61; { "姓名&#xff1a;翠翠", "性别&#xff1a;男", "年龄&#xff1a;23", "居住地&#xff1a;北京",
8 "邮箱&#xff1a;cwr941012&#64;gmail.com" };
9 //定义两个不同的数据源
10 &#64;Override
11 protected void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 setContentView(R.layout.activity_main);
14 listView &#61; (ListView) findViewById(R.id.list);
15 listView.setAdapter(new ArrayAdapter(this,
16 android.R.layout.simple_list_item_1, mListStr));
17 refreshLayout &#61; (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 &#64;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(MainActivity.this,
33 android.R.layout.simple_list_item_1, mListStr_));
34 refreshLayout.setRefreshing(false);
35 }
36 }, 5000);
37
38 }
39 }

MainActivity.java

 

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

 

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


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


推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 本文介绍如何使用线段树解决洛谷 P1531 我讨厌它问题,重点在于单点更新和区间查询最大值。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 本文详细解析了 Yii2 框架中视图和布局的各种函数,并综述了它们在实际开发中的应用场景。通过深入探讨每个函数的功能和用法,为开发者提供了全面的参考,帮助他们在项目中更高效地利用这些工具。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
author-avatar
雪国文话天下
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有