以前遇到过变态需求:Android控制ScrollView滑动速度,这次是自己提的需求,禁用ListView的Fling功能,即快滑功能,直接上代码了:
/**
手势识别类
*/
private class TouchGesture extends SimpleOnGestureListener {
/** 快速滚动 */
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
return true;
}
}
private OnTouchListener mOnListViewTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (mTouchGesture.onTouchEvent(event))
return true;
return false;
}
};
private class TouchGesture extends SimpleOnGestureListener {
/** 快速滚动 */
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
return true;
}
}
private OnTouchListener mOnListViewTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (mTouchGesture.onTouchEvent(event))
return true;
return false;
}
};
代码说明:
直接调用ListView的setOnTouchListener绑定mOnListViewTouchListener即可。关键点还是在onFling方法返回true,意思是消耗掉Fling事件,不再继续往下传事件链。
本文转自博客园农民伯伯的博客,原文链接:【Andorid X 项目笔记】禁用ListView的Fling功能(1),如需转载请自行联系原博主。