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

Google官方下拉刷新PullToRefresh

作者头像
AlicFeng
发布2018-06-08 11:49:50
1.3K0
发布2018-06-08 11:49:50
举报

网上关于下拉刷新的文章也不少,但是依赖的库文件太重了。恰好发现了官方的下拉刷新库,而且效果还是不错的:简洁美观,使用方便。

这是最基本的下拉刷新例子-可扩展

看图啦

Step-one:下拉刷新布局文件

<?xml version="1.0"encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent">

<android.support.v4.widget.SwipeRefreshLayout

android:id="@+id/swipeRefreshLayout"

android:layout_width="match_parent"

android:layout_height="match_parent">

<ListView

android:id="@+id/listView"

android:layout_width="match_parent"

android:layout_height="match_parent">

</ListView>

<android.support.v4.widget.SwipeRefreshLayout>

</RelativeLayout>


Step-two:java处理文件

packagecom.samego.alic.purgepulltorefresh;

importandroid.os.Bundle;

importandroid.os.Handler;

importandroid.os.Message;

importandroid.support.v4.widget.SwipeRefreshLayout;

importandroid.support.v7.app.AppCompatActivity;

importandroid.support.v7.widget.Toolbar;

importandroid.widget.ArrayAdapter;

importandroid.widget.ListView;

public classMainActivityextendsAppCompatActivity {

privateSwipeRefreshLayoutmSwipeLayout;

privateListViewlistView;

privateArrayAdapteradapter;

@Override

protected voidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.content_main);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

//实例化刷新布局

mSwipeLayout= (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);

//listView主内容

listView= (ListView) findViewById(R.id.listView);

adapter=newArrayAdapter(this,android.R.layout.simple_list_item_1);

adapter.add("Alic-one");

adapter.add("Alic-two");

adapter.add("Alic-three");

listView.setAdapter(adapter);

//设置刷新时动画的颜色,可以设置4个

mSwipeLayout.setColorSchemeResources(android.R.color.holo_blue_light,android.R.color.holo_red_light,android.R.color.holo_orange_light,android.R.color.holo_green_light);

//handler用来更新UI的 注意需要定义自己的Handler类-防泄露

finalHandler handler =newHandler(){

@Override

public voidhandleMessage(Message msg) {

//TODO

adapter.add("Alic-Refresh");

super.handleMessage(msg);

//取消更新的动画

mSwipeLayout.setRefreshing(false);

}

};

//设置监听器

mSwipeLayout.setOnRefreshListener(newSwipeRefreshLayout.OnRefreshListener() {

@Override

//正在更新的时候执行什么代码

public voidonRefresh() {

newThread(newRunnable() {

@Override

public voidrun() {

//模拟在服务器获取数据等待一秒

try{

Thread.sleep(1000);

}catch(InterruptedException e) {

e.printStackTrace();

}

//发消息给handler更新UI

Message message =newMessage();

handler.sendMessage(message);

}

}).start();

}

});

}

}

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Step-one:下拉刷新布局文件
  • Step-two:java处理文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档