下拉刷新的功能很常见,以新浪微博为例,下拉刷新获取新的微博。
这里也有两种实现的思路,一种有点类似于前面介绍的置顶标题的实现,即动态的画出下拉刷新这个View,但是LZ经过了很多尝试,发现和ListView的结合不是很好,所以没有成功,故而放弃,转向第二种思路,也就是网上资料比较多的一种思路:利用ListView的head来实现。
这里有几个最重要的点:
1. 如何展现和隐藏head。在未下拉的状态,或者惯性滑动的状态下,下拉刷新的View是不能被显示的,也就是平时的时候这个View应该是要被隐藏的,如何做到这一点呢。开始LZ尝试用layout方法重新布局,发现不管用,后来查了一些资料,发现原来在ListView中隐藏一项是用set一个小于0的padding值来实现的,这里顺利解决问题。
2. 关于刷新状态的把控。LZ在最初的实验过程中由于没有理清思路,在这里花了很长时间,后来才明白,刷新状态是一个必须明确的地方。并且必须和用户的操作结合。分析如下:当用户按下时(DOWN), 当且仅当用户处于第一页,能看到第一项时,进入一个可刷新的状态(FRESHABLE),其他都不作处理,保持原来的状态(DONE);当用户开始滑动时,用户向下滑动,但是滑动距离没有超过阀值(和下拉刷新VIew的高度相关),则进入开始状态(START),当且仅当用户向下滑动至超过阀值,进入刷新预备状态(FRESH),如果用户向上滑动,则还原到可刷新的状态(FRESHABLE);当用户释放(UP), 如果是FRESHABLE或者是DONE状态,则不用作处理,统一归到DONE状态,如果是START状态,则用户下拉的距离不够,释放之后回归到正常状态,并选中第一项,隐藏head,如果是FRESH状态,则说明用户下拉了足够的距离,释放之后应该开始刷新,完全显示head,进入刷新状态,刷新完成之后再回到DONE状态。
把握好重要的点之后,LZ终于实现了下拉刷新的效果。
上干货
相关推荐
强大的Android下拉刷新框支持下拉刷新、上拉加载、二级刷新、越界回弹、越界拖动,具有极强的扩展性,并集成了几十种炫酷的Header和 Footer。 支持横向刷新 支持多点触摸 支持淘宝二楼和二级刷新 支持嵌套多层的视图...
Android下拉刷新Android下拉刷新Android下拉刷新Android下拉刷新Android下拉刷新
共收集三个不同版本的好用的组件,供大家选择。如有疑问详见原作者博客。 1.AutoLoad-master.zip Android自定义控件实战...Android 下拉刷新框架实现 http://blog.csdn.net/leehong2005/article/details/12567757
ListView下拉刷新 ListView下拉刷新ListView下拉刷新ListView下拉刷新
类似iPhone的下拉刷新,在android上实现的实例!
android 自定义 下拉刷新功能实现的代码
google android 下拉刷新
Android下拉刷新的ListView Demo,代码中有详细的注释。 更加详细的描述请浏览我相应的博客:http://blog.csdn.net/newbie_coder/article/details/10376819
Android下拉刷新的实现
Android 实现下拉刷新之方法
实现Android上类似新浪微博等App的下拉刷新功能
Android自带下拉刷新的代码例子。用于演示Android原生控件SwipeRefreshLayout下拉刷新布局的功能与用法。
android 下拉刷新实现原理,网上找的很详细的说明。
下拉刷新demo,android最新,个性的下拉刷新
可以对各种控件实现多种下拉刷新效果、上拉加载更多以及配置自定义头部广告位.
前几天整理电脑了,发现这个DEMO不错,发出来分享一下。不知道其他人发过没。 android 下拉刷新列表 源码
下拉刷新Demo,实现ListView,ScrollView,GridView等的下拉刷新功能
自定义android下拉刷新,详细见博客:http://blog.csdn.net/u012246458/article/details/53393014