代码之家  ›  专栏  ›  技术社区  ›  Vince VD

Umano AndroidLidingPanel如何在面板可见时禁用触摸?

  •  0
  • Vince VD  · 技术社区  · 6 年前

    这是图书馆: https://github.com/umano/AndroidSlidingUpPanel

    谢谢

    文斯

    1 回复  |  直到 6 年前
        1
  •  0
  •   Vince VD    6 年前

    我找到了一个解决方案,我不确定这是否是如何做到的,但它是有效的。

    这将禁用整个滑动面板的触摸

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

    mBottomSheet

    如果需要,只需将onclicklistener添加到dragview,也可以单击底部工作表来打开/关闭它。

    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);
                }
            }
    
        });