app实现界面的左右手势滑动一般采用的是viewpager或者是Tabhost结合Fragment使用。这里对于使用viewpage的方式就不做赘述(因为viewpage本身是带手势的)。使用手势的时候一般的时候使用GestureDetector 进行监听,但是如果Fragment当中有ListView的时候,ListView会把左右滑动的给吞噬掉,所以直接使用GestureDetector 会不起作用。
为了解决ListView影响手势滑动的问题,我们提供了一个解决的思路:在Fragment的父Activity当中设置一个封装触摸事件的接口,在Fragment当中的Oncreate方法当中实现这个接口,在实现的方法中调用自定义的手势滑动的监听,在监听方法当中就可以实现自己想要实现的结果了。
在父类Activity当中封装的接口:
private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>(
10);
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {