類似側滑抽屜,但從底部向上滑出菜單面板。
Material Design 組件庫提供 BottomSheetBehavior、BottomSheetDialog、BottomSheetDialogFragment,原生支持底部彈出、拖拽交互、狀態管理。
implementation 'com.google.android.material:material:1.9.0'CoordinatorLayout 包裹底部視圖,設置 app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"。behavior.setState(BottomSheetBehavior.STATE_EXPANDED)。<androidx.coordinatorlayout.widget.CoordinatorLayout ...>
<FrameLayout
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="300dp"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
app:behavior_peekHeight="60dp">
<!-- 菜單內容 -->
</FrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
// Activity/Fragment 中
BottomSheetBehavior behavior = BottomSheetBehavior.from(findViewById(R.id.bottom_sheet));
behavior.setState(BottomSheetBehavior.STATE_EXPANDED); // 展開