listview怎么实现上下滑动

ZrcListView根据系统自带ListView源码改造而来: 完全是重写了ListView来实现下拉刷新,从他的项目结构中可以看出他完全是复制了整套ListView的实现过程:

1.增加下拉刷新及滚动到底部自动加载的功能;
2.增加越界回弹效果;
2.增加自定义列表项动画的功能;

与其他下拉刷新列表组件的不同
1.其他下拉刷新组件的实现基本是通过动态更改Header的大小来实现的,而ZrcListView是修改了Listview的边界判断;
2.其他下拉刷新组件很容易在下拉刷新时变得卡顿,这是动态更改子View引起的,而ZrcListView的下拉刷新部分与滑动内容一样顺滑;
3.可以设置默认列表头偏移量,这使得实现透明ActionBar与ListView叠加变得很容易;
4.其他下拉刷新可以在无列表项时下拉刷新,而ZrcListView的实现与ListView的滑动息息相关,在无列表项时,暂时无法下拉刷新。

// 设置下拉刷新的样式
// 设置加载更多的样式
// 设置列表项出现动画
// 下拉刷新事件回调
// 加载更多事件回调
 

身份认证 购VIP最低享 7 折!

解决了ScrollView和listView之间的冲突,简单的实现了微信中聊天页面中拖动的效果,如有不足,请多批评指正!

  • 还不错,解决了我的问题

  • 不错, 很好 解决了我的问题

  • 还行,不过不是我想要得到

资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!

通过继承 ScrollView,重新写其方法overScrollBy ,可轻松实现ScrollView的上下回弹效果,类似iOS系统中的阻尼拉伸效果。

以上实现了垂直方向上的回弹拉伸效果,如果是水平ScrollView, 只需修改maxOverScrollX的值即可。

实现top、bottom不同的拉伸距离

设置 top、bottom 仅其一支持拉伸回弹

我们知道,一旦设置了overScrollMode,上下回弹就会一起生效,可能有些需求只需保持top 回弹拉伸效果,而 bottom 不需要,这里有几种实现方式:

  • 修改overScrollBy方法,判断是否超过底部和顶部,并做逻辑处理。

在这里简单介绍下第二种方式的实现,其他方式可以自行尝试实现:

通过对ScrollView进行滑动到底部和顶部的逻辑判断,然后修改newScrollY的值,来屏蔽 top 或 bottom 的回弹拉伸,上述只实现了垂直方式的逻辑,水平方式需另行实现。

ListView也可以实现上述效果,实现方式与ScrollView大同小异。

PS:本文系本人原创,未经许可,禁止转载。

我要回帖

更多关于 viewpager禁止左右滑动 的文章