ScrollView快速滑动或拖拽停止事件监听

本文介绍了如何在ScrollView中监听快速滑动或拖拽停止的事件。通过在ScrollView的setOnTouchListener中设置onKeyUp监听,当手指抬起时,使用Handler发送延迟消息,每隔200毫秒检查getScrollY()值,当连续两次值相等时,判断为ScrollView滚动完成,可以进行后续处理。
摘要由CSDN通过智能技术生成


解决思路:

设立onKeyUp的监听,在手指离开屏幕后用 handler.sendMessageDelayed(handler.obtainMessage(1), 200)每隔200毫秒getScrollY()一次,然后比较getScrollY()的值直到与上次得到的相等时就是scrollview停止滑动了。


办法:

在 ScrollView的 setOnTouchListener 监听中  onKeyUp的监听
当 手指 抬起的时候  MotionEvent.ACTION_UP  通过handler  发送一个 延迟消息 判断 当前滚动Y的位置,是否和之前的一致。如果一致,那么说明 ScrollView滚动完成  不一致 说明 正在滚动 那么 handleMessage 内部 再发送一次消息 
当 ScrollView滚动  完成之后  处理 相应的逻辑


   case MotionEvent.ACTION_UP:
                        mHandler.sendEmptyMessageDelayed(0, 10);
                        break;
                        
//  用于 存储 上一次 滚动的Y坐标
private int lastY=-1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值