Google自己的下拉刷新组件SwipeRefreshLayout

来源:互联网 发布:淘宝开店的基本流程 编辑:程序博客网 时间:2024/05/02 23:21

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

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

API doc:http://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
首先须把你的support library的版本升级到19.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         <TextView11             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 stub11                 new Handler().postDelayed(new Runnable() {12                     13                     @Override14                     public void run() {15                         // TODO Auto-generated method stub16                         tv.setText("刷新完成");17                         swipeRefreshLayout.setRefreshing(false);18                     }19                 }, 6000);20             }21         });
复制代码

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

Save
0 0