当前位置:首页>编程日记>正文

Android SwipeRefreshLayout 官方下拉刷新控件介绍

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24521483

下面App基本都有下拉刷新的功能,以前基本都使用XListView或者自己写一个下拉刷新,近期Google提供了一个官方的下拉刷新控件SwipeRefreshLayout,我感觉还不错啊,见惯了传统的下拉刷新,这个反而给人耳目一新的感觉(貌似知乎的APP已经使用这种下拉刷新了)。

Google也在官方网站给出了V4的兼容包:

Android SwipeRefreshLayout 官方下拉刷新控件介绍 配图01

顺便看一眼API呗:

Android SwipeRefreshLayout 官方下拉刷新控件介绍 配图02

和XlistView差不多,还是很方便使用的,大概就这4个常用的方法,下面贴个简单的例子。

1、布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><android.support.v4.widget.SwipeRefreshLayoutandroid:id="@+id/id_swipe_ly"android:layout_width="match_parent"android:layout_height="match_parent" ><ListViewandroid:id="@+id/id_listview"android:layout_width="match_parent"android:layout_height="match_parent" ></ListView></android.support.v4.widget.SwipeRefreshLayout></RelativeLayout>
2、MainActivty:

/** Created by Storm Zhang, Mar 31, 2014.*/package com.zhy.swiperefreshlayoutdemo;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener
{private static final int REFRESH_COMPLETE = 0X110;private SwipeRefreshLayout mSwipeLayout;private ListView mListView;private ArrayAdapter<String> mAdapter;private List<String> mDatas = new ArrayList<String>(Arrays.asList("Java", "Javascript", "C++", "Ruby", "Json","HTML"));private Handler mHandler = new Handler(){public void handleMessage(android.os.Message msg){switch (msg.what){case REFRESH_COMPLETE:mDatas.addAll(Arrays.asList("Lucene", "Canvas", "Bitmap"));mAdapter.notifyDataSetChanged();mSwipeLayout.setRefreshing(false);break;}};};@SuppressLint("InlinedApi")protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mListView = (ListView) findViewById(R.id.id_listview);mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.id_swipe_ly);mSwipeLayout.setOnRefreshListener(this);mSwipeLayout.setColorScheme(android.R.color.holo_blue_bright, android.R.color.holo_green_light,android.R.color.holo_orange_light, android.R.color.holo_red_light);mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mDatas);mListView.setAdapter(mAdapter);}public void onRefresh(){// Log.e("xxx", Thread.currentThread().getName());// UI ThreadmHandler.sendEmptyMessageDelayed(REFRESH_COMPLETE, 2000);}
}

好了,结束,我感觉效果挺好看的,不妨试试。

效果图:

Android SwipeRefreshLayout 官方下拉刷新控件介绍 配图03


ok ~

源码点击此处下载


http://www.coolblog.cn/news/58680a7a47ffa604.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • jquery 使用小技巧
  • 2019-9
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • 【设计模式】 模式PK:策略模式VS状态模式
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • CSS小技巧——CSS滚动条美化
  • JS实现-页面数据无限加载
  • 阿里巴巴分布式服务框架 Dubbo
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • 两张超级大表join优化
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 《看透springmvc源码分析与实践》读书笔记一
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • Arm芯片的新革命在缓缓上演
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 行为模式之Template Method模式
  • 通过Spark进行ALS离线和Stream实时推荐