下拉更新demo

感谢原文作者:http://stormzhang.github.io/android/2014/03/29/android-swiperefreshlayout/

转载自:http://www.cnblogs.com/JinyaoLi/p/3852424.html

API doc: http://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
首先须把你的support library的版本升级到19.1或更新

效果:

下拉更新demo_第1张图片

使用超级简单!

在layout中添加SwipeRefreshLayout

复制代码
 1 <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:id="@+id/swipe_container"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5 
 6     <ScrollView
 7         android:layout_width="match_parent"
 8         android:layout_height="wrap_content" >
 9 
10         <TextView
11             android:id="@+id/textView1"
12             android:layout_width="match_parent"
13             android:layout_height="wrap_content"
14             android:gravity="center"
15             android:paddingTop="10dp"
16             android:text="@string/swipe_to_refresh"
17             android:textSize="20sp"
18             android:textStyle="bold" />
19     </ScrollView>
20 
21 </android.support.v4.widget.SwipeRefreshLayout>
复制代码

在Activity中使用:

复制代码
 1 tv = (TextView)findViewById(R.id.textView1);
 2         swipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.swipe_container);
 3         //设置刷新时动画的颜色,可以设置4个
 4         swipeRefreshLayout.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);
 5         swipeRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
 6             
 7             @Override
 8             public void onRefresh() {
 9                 tv.setText("正在刷新");
10                 // TODO Auto-generated method stub
11                 new Handler().postDelayed(new Runnable() {
12                     
13                     @Override
14                     public void run() {
15                         // TODO Auto-generated method stub
16                         tv.setText("刷新完成");
17                         swipeRefreshLayout.setRefreshing(false);
18                     }
19                 }, 6000);
20             }
21         });
复制代码

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


demo在github上,地址在:SwipeRefreshLayoutDemo

你可能感兴趣的:(下拉更新demo)