android中提供了ListView控件,listview能够为我们展现丰富的内容,有时候我们为了提升用户体检,需要更炫而且更好用户体验的效果,pull to refresh(下拉刷新列表效果)就应运而生了。
pull to refresh更多的应用于获取最新的内容,比如新浪微博、腾讯微博等。目前网上有很多开源的pull to refresh的开源实现,这里也是参考开源代码实现的。目测是android-pulltorefresh 。
Layout
1
2
3
4
5
6
7
8
|
<!--
The PullToRefreshListView replaces a standard ListView widget.
-->
<com.markupartist.android.widget.PullToRefreshListView
android:id=
"@+id/android:list"
android:layout_height=
"fill_parent"
android:layout_width=
"fill_parent"
/>
|
Activity
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// Set a listener to be invoked when the list should be refreshed.
((PullToRefreshListView) getListView()).setOnRefreshListener(
new
OnRefreshListener() {
@Override
public void onRefresh() {
// Do work to refresh the list here.
new
GetDataTask().execute();
}
});
private class GetDataTask extends AsyncTask<Void, Void, String[]> {
...
@Override
protected void onPostExecute(String[] result) {
mListItems.addFirst(
"Added after refresh..."
);
// Call onRefreshComplete when the list has been refreshed.
((PullToRefreshListView) getListView()).onRefreshComplete();
super
.onPostExecute(result);
}
}
|
源码下载:
http://download.csdn.net/detail/xyz_lmn/4676611
参考:
https://github.com/johannilsson/android-pulltorefresh
https://github.com/fanfoudroid/fanfoudroid