【Andorid X 项目笔记】禁用ListView的Fling功能(1)
前言
新的项目正在紧张开发中,初步估计2个月时间开发完成第一版,我负责Android端开发,由于不便过早公布,本系列将命名为“X项目笔记”,并于项目结束后最终公布名称。本系列主要记录与分享"X项目"中遇到的问题和一些解决办法。
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com
农民伯伯: http://over140.cnblogs.com
正文
以前遇到过变态需求: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事件,不再继续往下传事件链。
结束
发现已经写了好几个系列了,哈哈,貌似有几个要烂尾了~~ 不怕~ 继续开新的系列,不过基本反应我的工作情况。