下拉刷新

2019-02-27  本文已影响0人  pure粹

1.重写OnTouchEvent
ACTION_DOWN:获取Y初值
ACTION_MOVE:计算Y坐标移动距离,判断当前置顶状态(0==getFirstVisiblePosition())且(Y距离大于0或顶部header已经下滑)
                                if(0==getFirstVisiblePosition()&&(deltY>0||mContainerFl.getHeight()>0))
                                根据下拉距离超过header默认高度判断是否可以刷新及箭头方向(animation旋转180度动画),设置初始状态或Ready状态
                                通过setLayoutParams方法设置header高度
                                setSelection(0)保证下拉正常(异常:下拉后回不去)

ACTION_UP:抬手判断是否Ready,是则调用弹性滑动到header高度-在完成刷新后调用弹性滑动隐藏header,否则调用弹性滑动隐藏header
                        弹性滑动:Scroller弹性滑动 - 简书

项目Github:androidNote/pullloadmore at master · orangesunshine/androidNote · GitHub

上一篇下一篇

猜你喜欢

热点阅读