BottomSheetBehavior不可拖动,如果我不设置peekHeight

问题描述:

在我的应用程序,我有一个底部工作表和一个按钮,使其崩溃/展开。BottomSheetBehavior不可拖动,如果我不设置peekHeight

如果未设置peekHeight,底部工作表不可拖动且不会折叠,它始终可见。

下面是代码:

 View bottomSheet = findViewById(R.id.bottom_sheet1); 
     mBottomSheetBehavior1 = BottomSheetBehavior.from(bottomSheet); 

     mBottomSheetBehavior1.setPeekHeight(0); //IF I OMIT THIS, IT DOES NOT WORK 

     mButton1 = (Button) findViewById(R.id.button_1); 
     mButton1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if(mBottomSheetBehavior1.getState() != BottomSheetBehavior.STATE_EXPANDED) { 
        mBottomSheetBehavior1.setState(BottomSheetBehavior.STATE_EXPANDED); 
        mButton1.setText("Collapse 1"); 
       } 
       else { 
        mBottomSheetBehavior1.setState(BottomSheetBehavior.STATE_COLLAPSED); 
        mButton1.setText("Expand 1"); 
       } 
      } 
     }); 

有什么不对?

默认情况下,BottomSheetBehavior而不是hideable

你必须明确地告诉,你想这种行为是可隐藏:

 

    bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet); 
    bottomSheetBehavior.setHideable(true);