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 ~

源码点击此处下载

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 怎么git 自己建的服务器_如何搭建自己的git服务器「建议收藏」

    怎么git 自己建的服务器_如何搭建自己的git服务器「建议收藏」前几天在服务器亲自搭建git服务器,之前只是我自学了git的知识,在网上找了很多资料,重装了很多次,都不知道怎么使用,最后自己研究了好几遍,终于把git服务器搭建起来了。但是不知道我这种方法对不对,分享出来,希望大家指正。安装git$yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develperl-dev…

  • GHO文件安装全教程

    GHO文件安装全教程首先写在前面,这里的使用情况是物理机安装,不是虚拟机安装,因尝试将GHO转换成ISO,然后再装虚拟机失败了(GHO文件过大的情况下,虚拟机CD加载不出来),所以直接装的物理机。目录1.PE盘制作的准备:2.系统分区:3.引导修复4.走到这里,恭喜你已经成功了哈????1.PE盘制作的准备:1.可选择的U盘启动方法很多,但我这边选择的是老毛桃:https://w…

  • SQL 嵌套查询 —比较 很有用「建议收藏」

    SQL 嵌套查询 —比较 很有用「建议收藏」select  avg(datediff(year,Birthday,getdate()))asaveAge,Cofrom (selectbirthday,Cofromv_temp1whereBirthday!=”)asco groupbyco

  • SQL窗体函數一例

    SQL窗体函數一例

  • phpstudy搭建网站并实现外网访问[通俗易懂]

    phpstudy搭建网站并实现外网访问[通俗易懂]最近服务器被黑客攻击,挂了,只能重装系统,还好网站都在本地有备份.于是又苦逼的搭建服务器吧,这里我没有使用iis的服务器而是用了Apache服务器,并用的phpstudy集成.搭建玩ftp,网站上传完,在本地设置完域名信息,但是在外网始终无法访问,ps:域名之前就已经设置完解析的.然后一通百度,都是简单的介绍并没有解决问题.于是考虑到可能是防火墙的原因.结果发现防火墙,…

  • ios屏蔽ota更新描述文件(苹果软件更新怎么关闭)

    前言iOS手机下载新系统文件后,老是提示更新升级,确实很烦人,且为了防止手机被不小心给升级了,可以按照以下方法让手机显示当前版本为最高版本,不会下载升级包进行安装升级。操作步骤1、Safari浏览器中输入网址ibeta.me进入网页,选择最右侧屏蔽OTA更新,点击立即安装则会立即下载一个描述文件。2、进入手机设置->通用->描述文件选择tvOS13BetaSoftwareProfile,点击安装3、安装成功后,会提示重启手机,点击重启

发表回复

您的电子邮箱地址不会被公开。

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