Google官方 下拉刷新组件SwipeRefreshLayout 简单实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/49276511

# SwipeRefresh

这是 Google自己的下拉刷新组件SwipeRefreshLayout,简单实现

#如下为简答的实现效果

#需要完成的设计:

1.布局文件的设计 如下文件名为 swipe_view

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipe_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="16dp" />

</android.support.v4.widget.SwipeRefreshLayout>

2.对应Activity的代码实现

package com.finddreams.runningman;

import java.util.ArrayList;

import com.example.runningman.R;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MySwipeView extends Activity implements SwipeRefreshLayout.OnRefreshListener{


	private SwipeRefreshLayout mSwipeLayout;
	private ListView mListView;
	private ArrayList<String> list = new ArrayList<String>();
	private ArrayAdapter<String> myAdapter;
	private int list_count = 0;
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//去掉标题栏
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.swipe_view);

		mListView = (ListView) findViewById(R.id.listview);
		myAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
				getData());
		//数据绑定
		mListView.setAdapter(myAdapter);
		//mSwipeLayout 相关属性设置
		mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
		mSwipeLayout.setOnRefreshListener(this);
		mSwipeLayout.setColorSchemeResources(android.R.color.holo_blue_bright,
				android.R.color.holo_green_light, android.R.color.holo_orange_light,
				android.R.color.holo_red_light);
	}

	private ArrayList<String> getData() {
		list.add("小翠");
		list.add("小陶");
		list.add("小三");
		return list;
	}

	/**
	 * 刷新功能代码
	 */
	public void onRefresh() {
		new Handler().postDelayed(new Runnable() {
			@Override
			public void run() {
				mSwipeLayout.setRefreshing(false);
				Toast.makeText(getApplicationContext(), "Yes!", Toast.LENGTH_SHORT).show();
				
				list.add("小逗"+list_count);
				list_count++;
				myAdapter.notifyDataSetChanged();
			}
		}, 3000);
	}
}

3.PS:setColorScheme()已经弃用,使用setColorSchemeResources()来设置颜色。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏james大数据架构

Android Fragment完全解析

我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。 但是Acti...

23090
来自专栏CodingBlock

Android学习笔记(七)两个Fragment简单跳转示例

  在前两篇博文中分别介绍了Fragment得基础和Fragment的生命周期,然而说了这么多Fragment到底怎么用呢以及我们为什么要使用Fragment?...

21680
来自专栏项勇

笔记64 | 个人项目“易来”开发记录《二》处理Fragment中返回的问题

15780
来自专栏kevindroid

Android 点击屏幕其他位置隐藏Floating Action Button

50860
来自专栏Android干货

Volley网络连接

30070
来自专栏增长技术

BaseRecyclerViewAdapterHelper

#如何使用它? 先在 build.gradle 的 repositories 添加:

70610
来自专栏Android知识点总结

4-AVI--Fragment与ViewPager结合

12030
来自专栏向治洪

achartengine之折线图

问题在文章的最后,大致说来就是折线图,如果点的个数大于3个的时候,不是所有的点都显示对应的值的,这是为什么呢,本来以为是小问题,但两天了还没找到原因) 将前...

282100
来自专栏青蛙要fly的专栏

关于Fragment的动态添加的相关疑问及解答

今天在网上看到了一个开源库:Spruce Android Animation Library (and iOS)

8920
来自专栏分享达人秀

StackView实现卡片堆叠如此简单

上一期学习了AdapterViewFilpper的使用,你已经掌握了吗?本期开始学习同系列的StackView控件的使用方法。 一、认识StackView ...

381100

扫码关注云+社区

领取腾讯云代金券