今天很高兴,自己解决了判断ScrollView滚动停止的监听,现在分享给大家。

因为ScrollView没有像listView中的setOnScrollListener()监听,当然也就没有SCROLL_STATE_IDLE等。

解决的问题:

公司项目需要在一个列表中,类似listView,因为业务要求,这个列表是用拼凑的方法,拼凑出来的,所以外层包裹一层ScrollView。

现在公司要求,滑动到最后一条的时候,加载下一部分数据。如果使用scrollView.getScrollY()获得的是你手滑动的距离,当你松开手之后,界面会继续滑动,这个方法是获取不到新的Y值,所以,我们可以添加监听,时刻监视着ScrollView的变化。

需要先给ScrollView添加TouchListener ,在MotionEVENT.Up中,发送延迟的handler,这样就可以起到监听的作用。并且记录当前的高度lastY

在handler中,如果高度lastY和scrollView.getScrollY()是相等的,则表示,ScrollView已经停止,这时再根据你的要求判断停止之后的业务。这时的scrollView.getScrollY()就是控件滚动的距离。如果不相等,证明孩子啊滑动中,继续发handler继续记录lastY。

废话不多说,代码如下。希望对你有所帮助。

vBookDetail.setOnTouchListener(new OnTouchListener() {private int lastY = 0;private int touchEventId = -9983761;Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);View scroller = (View) msg.obj;if (msg.what == touchEventId) {if (lastY == scroller.getScrollY()) {//停止了,此处你的操作业务} else {handler.sendMessageDelayed(handler.obtainMessage(touchEventId, scroller), 1);lastY = scroller.getScrollY();}}}};@Overridepublic boolean onTouch(View v, MotionEvent event) {isScoll = false;int eventAction = event.getAction();int y = (int) event.getRawY();switch (eventAction) {case MotionEvent.ACTION_UP:handler.sendMessageDelayed(handler.obtainMessage(touchEventId, v), 5);break;default:break;}return false;}});

android ScrollView滚动距离和判断滚动停止状态相关推荐

  1. android scrollview居中,使用 HorizontalScrollView 实现滚动控制

    功能要求是屏幕上固定显示 3 个 Layout 项(图片+文字),支持点击切换到选择的 Layout 项,并支持滑动切换到最近的 Layout 项. 最后的效果如下: 下面逐步上代码: 布局文件 ac ...

  2. android scrollview 滚动到底部判断,怎么判断android中ScrollView滑动到了最底部?

    滚动到顶部判断: getScrollY() == 0 滚动到底部判断: View childView = getChildAt(0); childView.getMeasuredHeight() &l ...

  3. Android 仿拼多多可水平滚动RecyclerView,自定义滚动条滚动距离

    Android 仿拼多多可水平滚动RecyclerView,自定义滚动条滚动距离 2020年,希望大家一切平安如意,毕竟这是个出人意料的多事之秋. 一.效果图: 二.快速实现: 1.主函数代码: im ...

  4. Android中通过Java代码实现ScrollView滚动视图-以歌词滚动为例

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...

  5. Android ScrollView嵌套ScrollView滚动的问题解决办法

    引用:http://mengsina.iteye.com/blog/1707464 http://fenglog.com/article.asp?id=449 Android ScrollView嵌套 ...

  6. 实用小技巧(一):UIScrollView中上下左右滚动方向的判断

    https://www.jianshu.com/p/93e8459b6dae 2017.06.01 01:13* 字数 674 阅读 1201评论 0喜欢 1 2017.06.01 01:13* 字数 ...

  7. Android——仿淘宝头条垂直滚动广告

    淘宝App大家用的都比较多了哈,最近看淘宝头条比较多,就来写个小例子吧. 垂直滚动广告的实现原理其实比较简单,就是定时更新列表内容嘛,然后列表切换的时候再加点炫酷的动画就OK了.如果对Android控 ...

  8. Android自定义View(广告栏上下滚动效果)

    需求中涉及到的广告栏变化千变万化,这里,我们综合取材,有了下面的这篇文章. 开始的时候,我们使用的是MarqueeView,继承的ViewFlipper,但是会有一些bug,比如刷新数据时的重叠阴影等 ...

  9. android高仿天天动听,Android仿天天动听歌曲自动滚动view

    最近项目中要做一个类似天天动听歌曲自动滚动行数的效果.首先自己想了下Android要滚动的那就是scroller类或者scrollto.scrollby结合了,或者view.layout()方法,或者 ...

最新文章

  1. c++动态分配二维数组
  2. pytorch 学习中安装的包
  3. AjaxPro2在Asp.net中的基本用法
  4. 决策树Decision Tree 及实现
  5. Linux下修改swap的大小
  6. 莫烦Tensorflow教程(15~22)
  7. ArcGIS实验教程——实验十三:栅格空间插值分析
  8. scrollIntoView()窗口滚动
  9. box-shadow属性四个值_flex笔记1——flex-direction属性
  10. thinkphp去重,distinct、group
  11. 至少连接一个aura sync兼容设备_EDA365:浅谈电磁兼容
  12. #1.生活小妙招-联想小新潮7000电脑摄像头打不开
  13. 天猫精灵家居对接第三方设备(详细版)
  14. HTML顶部状态栏更改背景,适合做导航栏背景的图片
  15. 2020网站/APP/Webshell在线查毒 电脑软件查毒大全
  16. 微机原理与系统设计三:微处理器的结构与功能
  17. 电脑重装了系统开不了机怎么办?
  18. PC的ARM的安全启动
  19. 亚马逊爆款的流量密码原来这么简单 六个步骤打造爆款
  20. PHP微勤,家E课 黄微勤 小学一年级作文二年级作文【写句子】百度...

热门文章

  1. 【Android 插件化】多开原理 | 使用插件化技术的恶意应用 | 插件化的其它风险 | 应用开发推荐方案
  2. 【Java 虚拟机原理】Java 引用类型 ( 强引用 | 软引用 | 弱引用 | 虚引用 | 静态变量 )
  3. 【设计模式】迭代器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  4. 【Android Gradle】安卓应用构建流程 ( Java 源码编译 和 AIDL 文件编译 )
  5. 【Android 文件管理】分区存储 ( MediaStore 文件操作 )
  6. 【组合数学】生成函数 ( 使用生成函数求解不定方程解个数示例 2 | 扩展到整数解 )
  7. 【组合数学】递推方程 ( 递推方程示例 1 | 列出递推方程 )
  8. 【Android 内存优化】使用 Memory Analyzer ( MAT ) 工具分析内存 ( MAT 工具使用 | 最大对象 | 类实例个数 | 引用与被引用 | GC Roots 最短链 )
  9. JSP自定义标签开发与打包
  10. BZOJ 2456 : mode