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

android中,ViewFlipper+OnGestureListener可以实现左右滑动效果。 
但是在ViewFlipper加上了ScrollView就悲剧了,左右滑动事件无效了……

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

Java代码:  
  1. @Override
  2. public boolean dispatchTouchEvent(MotionEvent ev){
  3. super.dispatchTouchEvent(ev);
  4. //productGestureDetector 是 GestureDetector对象
  5. return productGestureDetector.onTouchEvent(ev);
  6. }

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

    1. private static final int FLING_MIN_DISTANCE = 100;
    2. private static final int FLING_MIN_VELOCITY = 50;
    3. //....
    4. public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
    5. float velocityY) {
    6. if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE
    7. && Math.abs(velocityX) > FLING_MIN_VELOCITY) {// move to left
    8. //TODO 左滑动
    9. } else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE
    10. && Math.abs(velocityX) > FLING_MIN_VELOCITY) {
    11. //TODO 右滑动
    12. } else {
    13. return false;
    14. }
    15. return true;
    16. }
上一篇:三层交换机基础原理及配置


下一篇:跨交换机实现 VLAN 间路由