×

Android HorizontalRefresh 一个可以左右拖动刷新的控件

96
吧主
2017.09.20 12:34* 字数 622

欢迎Follow我的GitHub, 关注我的CSDN. 其余参考Android目录.
欢迎关注我们的微信公众号杨守乐
转载来源:杨守乐
本文由:【吧主的博客】分享

每日英语
life is crazy! we chase what we can't have, and run away from what we desire the most!.
生活有的时候很疯狂,我们追逐那些无法拥有的,却放弃那些我们最需要的。

前言

博主是个android程序员,最近接了不少私活在做。想写博客也一直没时间,刚好有几个项目交工了才有时间写博客。同时这也是我写的第一篇博客,因为一直以来我都是写开发笔记的。
在做项目的时候我遇到一个需求,一个横向滚动的列表要添加拖动刷新和加载的功能。本着快速开发的原则,我就在网上找别人的控件使用。然而找到一个控件只能左拉加载,却不能同时两端拖动加载。于是就自己写了。

先上效果图



image.png

创建可以滑动的容器

1、既然是个容器那就直接继承FrameLayout,如下

image.png

2、添加左右两边的的拖动展示控件

image.png

3、控件是添加进入了,但是还是需要计算控件的位置和控件如何摆放

image.png

我将两个控件分别放在一左一右,childAt.layout(0, 0, 0, b);从这可以看出,我将控件的展示宽度设置成0px,后面拖动时就可以改变其宽度。

4、拦截触摸事件

image.png

5、监听事件并改变控件宽度

image.png

小结

到此这个控件基本上就可以做完了,其中的MoreView 就是拖动出来展示的控件,这个控件可以自己随意更换展示,并不会有什么影响。其实也没什么好说的,注释里写的还是很明白的。篇幅有限,就讲到这了。附上源码地址:

https://github.com/cookieci/HorizontalRefresh/

每日掏心话
人都是被逼出来的,有了压力许多潜在的智慧就会被激发出来。所以,没有走不通的路,没有过不去的坎。相信自己,我们都有可能创造奇迹!

Android从小工到专家
Web note ad 1