当我使用SlidingUpPanelLayout时,我必须设置两个子布局(主和面板)。打开第二个布局(面板)时,我想使用Button关闭它。但我找不到方法。
方法是什么?

最佳答案

最后一个版本在底部
如果我很理解你,你想在打开第二个listener时实现aview对吧?
方法如下:
首先声明一个SlidingUpPanelLayout

SlidingUpPanelLayout layout;

然后,在onCreate()中初始化它。
layout = (SlidingUpPanelLayout) findViewById(R.id.sliding_layout);

之后,如果需要,可以通过以下方式设置其子级可单击:
layout.setEnableDragViewTouchEvents(true);

现在,重要的是这个。将侦听器添加到layout
 layout.setPanelSlideListener(new PanelSlideListener() {

        @Override
        public void onPanelSlide(View panel, float slideOffset) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onPanelCollapsed(View panel) {
            // TODO Auto-generated method stub
            //Anything you put here is going to happen if the view is closed
        }

        @Override
        public void onPanelExpanded(View panel) {
            // TODO Auto-generated method stub
            //Anything you put here is going to happen if the view is open
        }

        @Override
        public void onPanelAnchored(View panel) {
            // TODO Auto-generated method stub

        }
    });

我希望这有帮助!快乐编码!
编辑:如果要关闭和/或打开窗格,类中有两个boolean方法:
layout.collapsePane(true); //to close
layout.expandPane(true); //to open

编辑。当前版本Link to example
layout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); //to close
layout.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED); //to open

07-28 12:37