转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992
警告,这个项目是早期项目,有一些BUG,暂时没修复,不推荐使用!
两个月之前,写过一篇文章【Android界面实现】整合了刷新、加载更多、滑动删除功能的XListview ,介绍了如何整合两个开源项目实现这种功能,但是在实际的使用中,却出现了一些问题,比如说item的点击事件多次调用,item的position不准确,代码量太大太复杂等,一个哥们在自己的工作中使用了这个项目,这些BUG给他造成了困扰。所以,花费了三天时间看懂项目的基础上,我决定重写这个项目,然后就有了今天的这篇文章,给大家介绍一个更加强大的ListView的使用和实现原理。为了纪念XListView和方便区分,我决定给这个控件取名为ZListVIew。
另外,这篇文章涉及到的内容较多,请各位看官自备茶水、瓜子,提前做好准备~
本文将分成两部分进行介绍,前半部分是ZListView的使用介绍,后半部分是实现原理介绍。
ZListView的特点如下:
(1)使用与XListView完全一样
(2)即可以实现刷新、加载功能,也可以关闭,当作普通的ListView使用
(3)支持从四个方向进行侧滑
(4)添加了强大的事件监听,完全掌控各种事件触发过程
(5)修复了之前项目的BUG
(6)针对ListView,对滑动Item进行了优化和删减,代码添加注释,更加易懂好用
一、ZListView使用介绍
在开始介绍使用之前,先给大家看下运行效果,因为不知道什么原因,我上传的gif都变成静态图了,所以请大家点击这个网址看效果:http://ww4.sinaimg.cn/large/005yyi5Jjw1eo1yrys3a6g30ar0h61kx.gif
下面是整个项目的目录结构
BaseSwipeAdapter是一个适配器,如果你的ListView里面需要添加滑动效果的话,就需要继承这个类。
enums包里面是一些枚举值,比如滑动模式,滑动方向,显示模式等。
listener包里面是监听器,OnSwipeLayoutListener是用来监