码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-07-01 15:40:41      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

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. //....  
    5.   
    6. public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,  
    7.             float velocityY) {  
    8.   
    9.         if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE  
    10.                 && Math.abs(velocityX) > FLING_MIN_VELOCITY) {// move to left  
    11.                     //TODO 左滑动  
    12.   
    13.         } else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE  
    14.                 && Math.abs(velocityX) > FLING_MIN_VELOCITY) {  
    15.             //TODO 右滑动  
    16.         } else {  
    17.             return false;  
    18.         }  
    19.         return true;  
    20.     }  
    21.  

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

标签:

原文地址:http://www.cnblogs.com/awkflf11/p/4613042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!