持久的底部表格
你可以實現一個持久的底部工作表將 BottomSheetBehavior附加到一個子檢視 CoordinatorLayout :
<android.support.design.widget.CoordinatorLayout >
    <!-- .....   -->
    <LinearLayout
       android:id="@+id/bottom_sheet"
       android:elevation="4dp"
       android:minHeight="120dp"
       app:behavior_peekHeight="120dp"
       ...
       app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
           <!-- .....   -->
       </LinearLayout>
</android.support.design.widget.CoordinatorLayout>
然後在你的程式碼中,你可以使用以下命令建立引用
 // The View with the BottomSheetBehavior  
 View bottomSheet = coordinatorLayout.findViewById(R.id.bottom_sheet);  
 BottomSheetBehavior mBottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);  
你可以使用 setState() 方法設定 BottomSheetBehavior 的狀態 :
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
你可以使用以下狀態之一:
- 
STATE_COLLAPSED:此摺疊狀態是預設狀態,僅顯示底部佈局的一部分。可以使用app:behavior_peekHeight屬性控制高度(預設為 0)
- 
STATE_EXPANDED: 底板的完全展開狀態,其中整個底板是可見的(如果它的高度小於包含的CoordinatorLayout)或整個CoordinatorLayout被填充
- 
STATE_HIDDEN:預設情況下禁用(並使用app:behavior_hideable屬性啟用),啟用此選項允許使用者向下滑動底部工作表以完全隱藏底部工作表
如果你想接收狀態更改的回撥,可以新增 BottomSheetCallback:
mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetCallback() {  
    @Override  
    public void onStateChanged(@NonNull View bottomSheet, int newState) {  
      // React to state change  
    }  
      @Override  
      public void onSlide(@NonNull View bottomSheet, float slideOffset) {  
       // React to dragging events  
   }  
 });