android中,ViewFlipper+OnGestureListener可以实现左右滑动效果。
但是在ViewFlipper加上了ScrollView就悲剧了,左右滑动事件无效了……
这里其实只需要多实现一个方法就是了,主要是把事件交给系统自己处理
在OnGestureListener对象中,实现以下方法
原文参考自站长网:
Java代码:
-
@Override
-
public boolean dispatchTouchEvent(MotionEvent ev){
-
super.dispatchTouchEvent(ev);
-
-
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) {
-
-
-
} else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE
-
&& Math.abs(velocityX) > FLING_MIN_VELOCITY) {
-
-
} else {
-
return false;
-
}
-
return true;
-
}
-
阅读(1011) | 评论(0) | 转发(0) |