ScrollView快速滑动或拖拽停止事件监听
来源:互联网 发布:php源码大全 编辑:程序博客网 时间:2024/06/15 21:10
解决思路:
设立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;
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 0) {
// 打印 每次 Y坐标 滚动的距离
// LogUtils.e(scrollView.getScrollY() + "");
// 获取到 滚动的 Y 坐标距离
int scrollY = scrollView.getScrollY();
// 如果 滚动 的Y 坐标 的 最后一次 滚动到的Y坐标 一致说明 滚动已经完成
if (scrollY == lastY) {
// ScrollView滚动完成 处理相应的事件
} else {
// 滚动的距离 和 之前的不相等 那么 再发送消息 判断一次
// 将滚动的 Y 坐标距离 赋值给 lastY
lastY = scrollY;
mHandler.sendEmptyMessageDelayed(0, 10);
}
}
}
};
- ScrollView快速滑动或拖拽停止事件监听
- android监听ScrollView滑动停止
- 【ScrollView】Android ScrollView监听滑动事件
- Android中监听ScrollView滑动停止和滑动到底部
- Android中监听ScrollView滑动停止和滑动到底部
- Android中实现监听ScrollView滑动事件
- [Android] 监听ScrollView惯性滑动事件
- ScrollView监听停止滑动,判断是否滑到底部
- Android - ScrollView 监听滑动停止,顶部还是底部?
- Android监听ScrollView或NestedScrollView滑动到顶部和底部
- Android 自定义ScrollView嵌套滚动兼容,监听滑动状态:顶部、底部、停止、滑动中
- 自定义scrollview滑动到底部的监听事件
- Android监听ScrollView控件的滑动起始和结束事件
- Android中自定义ScrollView的滑动监听事件
- 监听ScrollView滑动方向
- ScrollView滑动的监听
- ScrollView 滑动监听
- Android ScrollView滑动监听
- 【转】Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解
- Mac下搭建hadoop伪分布式及eclipse开发环境
- Java 反射机制分析指南
- RPM方式安装MySQL5.6
- AVL树C++模板类实现
- ScrollView快速滑动或拖拽停止事件监听
- 第十一周OJ——牛顿迭代法求根
- php上传文件中文文件名乱码的解决方法
- bias 和 variance 的推导
- Linux命令-挂载命令mount
- 防卫式声明
- uoj52逃跑(最短路)
- HTTP协议小知识
- cmake:EXCLUDE_FROM_ALL介绍