开发android的人基本都知道有一个下拉刷新的开源组件,基本都认为下拉刷新的都是ListView(今天就遇到了这样的人)。其实下拉刷新这是一个整套的开源组件。能够实现下拉的组件有:      

1,Listview

2,GridView

3,ScrollView

4,ExpandableListView

5,ListFragment

6,ViewPager

7,WebView

这一整套的下载地址:https://github.com/chrisbanes/Android-PullToRefresh

在我们的应用是适当的使用这些开源组件能够大大的提高我们用户体验,今天就简单的介绍下基于ScrollView的下拉刷新:PullToRefreshScrollView。
demo代码:
/******************************************************************************* * Copyright 2011, 2012 Chris Banes. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *******************************************************************************/package com.handmark.pulltorefresh.samples;import android.app.Activity;import android.os.AsyncTask;import android.os.Bundle;import android.widget.ScrollView;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;import com.handmark.pulltorefresh.library.PullToRefreshScrollView;public final class PullToRefreshScrollViewActivity extends Activity {PullToRefreshScrollView mPullRefreshScrollView;ScrollView mScrollView;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_ptr_scrollview);mPullRefreshScrollView = (PullToRefreshScrollView) findViewById(R.id.pull_refresh_scrollview);mPullRefreshScrollView.setOnRefreshListener(new OnRefreshListener() {@Overridepublic void onRefresh(PullToRefreshBase refreshView) {new GetDataTask().execute();}});mScrollView = mPullRefreshScrollView.getRefreshableView();}private class GetDataTask extends AsyncTask {@Overrideprotected String[] doInBackground(Void... params) {// Simulates a background job.try {Thread.sleep(4000);} catch (InterruptedException e) {}return null;}@Overrideprotected void onPostExecute(String[] result) {// Do some stuff here// Call onRefreshComplete when the list has been refreshed.mPullRefreshScrollView.onRefreshComplete();super.onPostExecute(result);}}}

 

效果图:

 



更多相关文章

  1. Android(安卓)Activity和Intent机制
  2. android intent相关
  3. android六大布局和UI组件
  4. 如何创建一个android的react-native组件(一)
  5. android基础知识06:intent和intentfilter
  6. android从fragment进入activity再返回实现刷新fragment的做法
  7. android中scrollview与webview冲突事件
  8. android瀑布流,完美解决滑动过程中item位置错乱,下拉刷新顶部空白,
  9. Android(安卓)开发艺术探索读书笔记 9 -- 四大组件的工作流程

随机推荐

  1. Android(安卓)P WiFi Disable 流程
  2. android 上传数据到web
  3. android app通知栏权限状态判断及跳转状
  4. Android版本检测\自动更新
  5. Android(安卓)获取世界时区
  6. android编程小技巧
  7. android 基础
  8. phonegap hardwareAccelerated问题
  9. Android下常用的正则表达式判断工具类代
  10. 获得当前经纬度