解决思路:
设立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;