您的位置:首页 > 其它

加入ScrollView后OnGestureListener无效的解决办法

2015-07-01 13:41 405 查看
android中,ViewFlipper+OnGestureListener可以实现左右滑动效果。
但是在ViewFlipper加上了ScrollView就悲剧了,左右滑动事件无效了……

这里其实只需要多实现一个方法就是了,主要是把事件交给系统自己处理
在OnGestureListener对象中,实现以下方法

Java代码:

@Override

public boolean dispatchTouchEvent(MotionEvent ev){

super.dispatchTouchEvent(ev);

//productGestureDetector 是 GestureDetector对象

return productGestureDetector.onTouchEvent(ev);

}

另外,由于有了上下滑动和左右滑动的原因,在上下滑动的时候可能会不小心就触发了左右滑动,所以需要在加点东西
Java代码:

private static final int FLING_MIN_DISTANCE = 100;

private static final int FLING_MIN_VELOCITY = 50;

//....

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,

float velocityY) {

if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE

&& Math.abs(velocityX) > FLING_MIN_VELOCITY) {// move to left

//TODO 左滑动

} else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE

&& Math.abs(velocityX) > FLING_MIN_VELOCITY) {

//TODO 右滑动

} else {

return false;

}

return true;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: