此控件网上已经有大神开源,小的想通过模仿学习提升下自己。
先上效果图:
refresh.gif
控件包含两部分,第一步是完成下拉动画,第二步是和listview的组合。
第一步,我们先来画下拉动画。下拉动画包括3部分:
1:做一条贝塞尔曲线,通过手指在屏幕上滑动的偏移量,改变曲线的控制点。
2:画一个圆,加一个上升动画。
3:画圆环。
组合起来就如下图:
header.gif
第二步,把下拉动画和listview组合起来,具体是这样做的,自定义一个FrameLayout的view,把listview嵌套在这个新布局中,再把下拉动画的header加到这个新的framelayout的view上,再根据手指在屏幕上滑动的距离,计算出偏移量,在对listview进行相应的移动。
具体实现可参考我的代码,代码中写有注释(*^_^*),如果有帮助不妨给个star(*^_^*)吧:https://github.com/caretakers/FlexibleRefreshView
参考资料:
https://www.jianshu.com/p/6e8f92497cb5(iOS参照这位大神)
https://github.com/tuesda/CircleRefreshLayout
网友评论