ScrollView和GestureDetector触屏事件冲突

当我们使用GestureDetector手势识别当前的动作并作相关的功能的时候,会发现如果当前的页面包含有滚动条或者listview的时候,GestureDetector中的onFling等。一些的方法不能正常的使用,或者是在一个activity的有些部位可以使用而其他的就不行。

下面给一个解决办法,之所以会出现上述的情况网上说是因为ScrollView等一些控件抢占了MotionEvent 事件,才会出现一些了的问题,因此我们使用dispatchTouchEvent事件重新分发一下就行,下面是代码。

[java]  view plain  copy
 print ?
  1. @Override  
  2.     public boolean dispatchTouchEvent(MotionEvent ev) {  
  3.         // TODO Auto-generated method stub  
  4.         mGestureDetector.onTouchEvent(ev);  
  5.         return super.dispatchTouchEvent(ev);  
  6.     }  
其中的 mGestureDetector是定义的GestureDetector对象;

你可能感兴趣的:(开发遇到的坑)