前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google官方 下拉刷新组件SwipeRefreshLayout 简单实现

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

作者头像
泥豆芽儿 MT
发布2018-09-11 11:07:28
7800
发布2018-09-11 11:07:28
举报

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1333589

# SwipeRefresh

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

#如下为简答的实现效果

#需要完成的设计:

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

代码语言:javascript
复制
<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的代码实现

代码语言:javascript
复制
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()来设置颜色。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年10月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档