PullToRefresh
来源:互联网 发布:淘宝代购店铺推荐 编辑:程序博客网 时间:2024/04/27 14:56
注意点
① 加了PullToRefresh的ListView,第一个item的下标应该是 1,0被刷新占了。
②通过mPullToRefreshListView.onRefreshComplete()停止加载动画(通过handler处理,直接调用好像不起作用)
依赖库地址 http://pan.baidu.com/disk/home#list/path=%2Fandroid%2F%E7%AC%AC%E4%B8%89%E6%96%B9jar%20%E5%8C%85
更多介绍 张鸿洋 http://blog.csdn.net/lmj623565791/article/details/38238749/
public class MainActivity extends Activity { private PullToRefreshListView mPullToRefreshListView; private ListView lv; private ArrayAdapter<String>adapter; private List<String>mItemList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mPullToRefreshListView = (PullToRefreshListView)findViewById(R.id.id_pull_lv); lv = mPullToRefreshListView.getRefreshableView(); mItemList = new ArrayList<String>(); initData(); mPullToRefreshListView.setMode(Mode.BOTH); mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh( //下拉刷新执行的方法 PullToRefreshBase<ListView> refreshView) { Log.i("tag", "下拉刷新执行的方法"); handler.sendEmptyMessageAtTime(1, 1000); } @Override public void onPullUpToRefresh( PullToRefreshBase<ListView> refreshView) { //上拉加载执行的方法 new GetDataTask().execute(); } }); }
设置刷新样式
改变旋转图标<com.handmark.pulltorefresh.library.PullToRefreshGridView ptr:ptrDrawable="@drawable/ic_launcher" ... /> 当然了这是旋转的效果,一般常用的还有,一个箭头倒置的效果,其实也很简单,一个属性:ptr:ptrAnimationStyle="flip"去掉 ptr:ptrDrawable="@drawable/ic_launcher"这个属性,如果你希望用下图默认的箭头,你也可以自定义。添加后,箭头就是这个样子:ptr:ptrAnimationStyle的取值:flip(翻转动画), rotate(旋转动画) 。 ptr:ptrDrawable则就是设置图标了**设置刷新字体**private void initIndicator() { ILoadingLayout startLabels = mPullRefreshListView .getLoadingLayoutProxy(true, false); startLabels.setPullLabel("你可劲拉,拉...");// 刚下拉时,显示的提示 startLabels.setRefreshingLabel("好嘞,正在刷新...");// 刷新时 startLabels.setReleaseLabel("你敢放,我就敢刷新...");// 下来达到一定距离时,显示的提示 ILoadingLayout endLabels = mPullRefreshListView.getLoadingLayoutProxy( false, true); endLabels.setPullLabel("你可劲拉,拉2...");// 刚下拉时,显示的提示 endLabels.setRefreshingLabel("好嘞,正在刷新2...");// 刷新时 endLabels.setReleaseLabel("你敢放,我就敢刷新2...");// 下来达到一定距离时,显示的提示 }
属性设置
<com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" ptr:ptrHeaderTextColor="@android:color/background_dark"> </com.handmark.pulltorefresh.library.PullToRefreshListView><!-- ptrRefreshableViewBackground 设置整个mPullRefreshListView的背景色 --><!-- ptrHeaderBackground 设置下拉Header或者上拉Footer的背景色 --><!-- ptrHeaderTextColor 用于设置Header与Footer中文本的颜色 --><!-- ptrHeaderSubTextColor 用于设置Header与Footer中上次刷新时间的颜色 --><!-- ptrShowIndicator如果为true会在mPullRefreshListView中出现icon,右上角和右下角,挺有意思的。 --><!-- ptrHeaderTextAppearance , ptrSubHeaderTextAppearance分别设置拉Header或者上拉Footer中字体的类型颜色等等。 --><!-- ptrRotateDrawableWhilePulling当动画设置为rotate时,下拉是是否旋转。 --><!-- ptrScrollingWhileRefreshingEnabled刷新的时候,是否允许ListView或GridView滚动。觉得为true比较好。 --><!-- ptrListViewExtrasEnabled 决定了Header,Footer以何种方式加入mPullRefreshListView,true为headView方式加入,就是滚动时刷新头部会一起滚动。 -->
0 0
- pulltorefresh
- PullToRefresh
- PullToRefresh
- PullToRefresh
- PullToRefresh
- PullToRefresh
- pullToRefresh
- PullToRefresh
- PullToRefresh
- pullToRefresh
- pulltorefresh
- Pulltorefresh
- PullToRefresh
- Pulltorefresh
- PullToRefresh
- pullToRefresh
- pulltorefresh
- PullToRefresh
- PHP中empty()和isset()的区别
- Experimental Educational Round: VolBIT Formulas Blitz题解
- 故事
- 免费获得
- android graphic(8)—surface申请GraphicBuffer过程
- PullToRefresh
- 欢迎使用CSDN-markdown编辑器
- 可穿戴设备交互趋势
- POJ2186
- Codeforces Educational Codeforces Round 8 A. Tennis Tournament
- MySQL树形遍历
- This is a start.
- 如何在Java 8中愉快地处理日期和时间
- Git fetch和git pull的区别