当面板可见时,Umano AndroidSlidingUpPanel如何禁用触摸?

时间:2018-11-28 02:51:06

标签: java android

所以我的问题是,当面板向上滑动并且我触摸某个地方时,它会关闭面板。

我如何禁用触摸,以便只能拖动面板以打开和关闭它?

这是库:https://github.com/umano/AndroidSlidingUpPanel

谢谢

文斯

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,我不确定这是怎么做的,但它能起作用。

这将禁用整个幻灯片面板的触摸

mSlideUpPanel.getChildAt(1).setOnClickListener(null);

mBottomSheet 是您向上拖动以显示面板的拖动视图。

如果需要,您可以仅在拖动视图中添加onclicklistener,因此也可以单击底部的表打开/关闭它。

mBottomSheet.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (mSlideUpPanel != null &&
                    (mSlideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED || mSlideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.ANCHORED)) {
                mSlideUpPanel.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED);
            }
            if (mSlideUpPanel != null &&
                    (mSlideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED || mSlideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.ANCHORED)) {
                mSlideUpPanel.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
            }
        }

    });