关于这个问题,在 https://github.com/jfeinstein10/SlidingMenu/issues/446 中已经有说明解决方法。
具体就是:
先在CustomViewAbove中的onInterceptTouchEvent()方法中的MotionEvent.ACTION_DOWN下,将break替换为return mQuickReturn;
然后在onTouchEvent()方法中的MotionEvent.ACTION_DOWN下,将break替换为return mQuickReturn;
然后到CustomViewBehind中,将onInterceptTouchEvent()中的return改为return mViewAbove.onInterceptTouchEvent(e);
将onTouchEvent()中的return 改为return mViewAbove.onTouchEvent(e);
这样子,在初始化SlidingMenu时,使用setTouchModeBehind(),就可以在打开侧边栏后滑动关闭,并且可以实现点击事件。
但是这样子,就无法使用滑动打开的功能了。
所以像QQ 6.0上的侧边栏可以在滑动关闭、打开的同时也可以支持侧边栏的上下滑动与点击,主要是对SlidingMenu中这两个页面的触碰事件重写了一次。思路很简单,但是实际操作是另外一回事了,有时间再好好研究。