首页 > 解决方案 > 通过向上拖动按钮向上滑动底页(android)

问题描述

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

控制按钮位于底部工作表布局的顶部。

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

我试图搜索触发bottomsheet扩展的事件,但找不到。

所以我的问题是,bottomsheetbehavior.class 中的什么方法触发阶段变化?

在此处输入图像描述

标签: android

解决方案


您可以使用这种方式根据按钮单击更改状态

 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) {

            }
        });

推荐阅读