通过向上拖动按钮向上滑动底部板材(android)

通过向上拖动按钮向上滑动底部板材(android),android,Android,我想用一个按钮来控制我的底部工作表的状态 控制按钮位于底部图纸布局的顶部 如果我向上拖动控制按钮,底部的工作表将展开 我试图搜索触发底部工作表扩展的事件,但找不到 所以我的问题是,bottomsheetbehavior.class中的哪个方法触发了阶段更改 您可以使用此方法根据按钮单击更改状态 controlBtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { i

我想用一个按钮来控制我的底部工作表的状态

控制按钮位于底部图纸布局的顶部

如果我向上拖动控制按钮,底部的工作表将展开

我试图搜索触发底部工作表扩展的事件,但找不到

所以我的问题是,bottomsheetbehavior.class中的哪个方法触发了阶段更改


您可以使用此方法根据按钮单击更改状态

 controlBtn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
        if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED){

           bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);

                }
     else {
     bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
    } 
});
当底部工作表状态更改时触发的回调是

 bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
            @Override
            public void onStateChanged(@NonNull View bottomsht, int newstate) {
               if (newState == BottomSheetBehavior.STATE_DRAGGING) {
                behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
            }

            }

            @Override
            public void onSlide(@NonNull View view, float v) {

            }
        });

谢谢你的回答。但单击控制按钮不应使底部板材展开。我希望用户拖动此按钮。当按钮向上移动时,底部工作表应该随之移动,然后你必须将该按钮包含在底部工作表布局中是的,但如果我拖动整个底部工作表,它也会展开。我想避免它,但不知道如何检查我编辑的答案你可以检查用户是否抓取然后保持折叠点击按钮不是我想要的。我只需要拖动按钮就可以展开/折叠底部工作表