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

Android SwipeRefreshLayout 官方下拉刷新控件介绍下面App基本都有下拉刷新的功能,以前基本do

大家好,又见面了,我是你们的朋友全栈君。

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

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

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

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

顺便看一眼API呗:

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

和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.SwipeRefreshLayout
        android:id="@+id/id_swipe_ly"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ListView
            android:id="@+id/id_listview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </ListView>
    </android.support.v4.widget.SwipeRefreshLayout>

</RelativeLayout>

2、MainActivty:

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 Thread

		mHandler.sendEmptyMessageDelayed(REFRESH_COMPLETE, 2000);

	}
}

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

效果图:

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

ok ~

源码点击此处下载

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152903.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 点到圆的最近距离公式推导

    点到圆的最近距离公式推导该距离公式在 CircleFittin 相关的一篇文章中用到 现实现其推导过程 设圆的一般的方程形式 任一点 P 的坐标 点 P 到圆上点得最短距离的公式 推导过程 1 由圆一般方程形式可以推导出圆的标准方程形式 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 且有 即 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 圆心坐标 nbsp 半径 2 点到圆的最短距离 nbsp nbsp nbsp nbsp nbsp nbsp 点到圆的最短距离等于点到圆心的距离减去半径的绝

    2025年6月10日
    2
  • Idea激活码最新教程2020.3.2版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2020.3.2版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2020 3 2 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2020 3 2 成功激活

    2025年5月22日
    5
  • 报错注入详解_报错注入的过程

    报错注入详解_报错注入的过程报错注入报错注入是SQL注入的一种。利用前提:页面上没有显示位,但是需要输出SQL语句执行错误信息。比如mysql_error()优点:不需要显示位缺点:需要输出mysql_error()的报错信息报错函数1、floor报错注入floor()报错注入是利用count()、rand()、floor()、groupby这几个特定的函数结合在一起产生的注入漏洞,准确的说是floor,count,groupby冲突报错。报错原理:利用数据库表主键不能重复的原理,使用GROUPBY分组,产生主

    2022年9月30日
    3
  • 框架结构和砖混结构的区别_react框架官网

    框架结构和砖混结构的区别_react框架官网实现:创建四个组件,分别是头组件,尾组件,list组件,item组件,存在于这个mvc中的。在APP.js中分别引入前三个个组件(item组件是存在于list中的,所以在list中引入item组件)在app.js中写好初始数据,在list中显示出来const{todos}=this.propsreturn(<ul>{todos.map(todo=>{return<Itemkey={

    2025年10月31日
    2
  • 使用cdn实现免备案_阿里云备案的域名可以在腾讯云用吗

    使用cdn实现免备案_阿里云备案的域名可以在腾讯云用吗昨晚在QQ群看到的,目前可以白嫖!无视阿里云给你分配的cname地址域名直接解析到发的那些cname地址上面就可以使用了!添加CDN,加速区域选择“全球(不含中国大陆)”,然后把域名解析到阿里云国内CDN节点IP上。注意:知道的人多了或者也许会失效!这是我的网站测试的结果可以访问看一下速度:爱云影视…

    2025年10月23日
    6
  • Python set() 函数

    Python set() 函数测试示例:>>>x=set('runoob')>>>y=set('google')>>>x,y

    2022年7月5日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号