探索Android 下拉刷新效果的实现
来源:互联网 发布:java工程师的简历模板 编辑:程序博客网 时间:2024/05/16 11:22
下拉刷新的功能很常见,以新浪微博为例,下拉刷新获取新的微博。
这里也有两种实现的思路,一种有点类似于前面介绍的置顶标题的实现,即动态的画出下拉刷新这个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 下拉刷新效果的实现
- 探索Android 下拉刷新效果的实现
- Android下拉刷新效果实现
- 使用android自带的下拉刷新效果实现页面下拉刷新功能
- 自定义listview实现下拉刷新的效果
- Android下拉刷新的实现
- Android探索之路:实现下拉刷新功能
- Android SwipeRefreshLayout GMail的下拉刷新效果
- Android的下拉刷新带进度条效果
- UIScrollView下拉刷新效果实现
- Android自定义ListView实现下拉刷新,效果仿SwipeRefreshLayout
- Android 仿IOS版QQ实现下拉刷新水滴的效果
- Android下拉刷新实现
- Android中ListView下拉刷新的实现
- Android中ListView下拉刷新的实现
- Android UI - ListView下拉刷新的实现
- 实现android常见的下拉刷新功能
- android之Listview的下拉刷新实现
- ssh 搭建
- elasticsearch中概念
- 完美解决多应用服务器负载均衡环境下spring quartz同一定时任务重复执行问题
- iOS 多线程 锁 互斥 同步
- ios 国际化(项目名和内容)
- 探索Android 下拉刷新效果的实现
- Silverlight5在Tomcat上的部署
- MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序
- libmad MP3解码
- HDU2955--Robberies--动态规划
- 获取iPhone通话记录(需越狱)
- C程序中内存布局&Union大小尾端
- Windows系统获取系统的启动时间
- javascript美化下拉框js