我需要禁用滑动以打开/关闭SlidingPaneLayout,因为我的主要 View 是 map 。
我将使用按钮打开/关闭它。

最佳答案

子类SlidingPaneLayout,重写onInterceptTouchEvent()并使其始终返回false。这将防止SlidingPaneLayout处理触摸事件。

有关更多信息,请参见http://developer.android.com/training/gestures/viewgroup.html

更新:
如果 subview 未处理触摸事件,则仍将调用SlidingPaneLayoutonTouchEvent()方法。要完全禁用处理触摸事件,还请覆盖onTouchEvent()并始终返回false

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    return false;
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
    return false;
}

注意:这种方法的缺点是,仅部分可见时,触摸事件仍会分派(dispatch)到第二个 subview 。因此,您可能想查看其他答案。

关于android - Android,禁用滑动以与SlidingPaneLayout交互,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17002466/

10-09 09:31