可展開、收合的底部選單:Android BottomSheet

Evan Chen
Evan Android Note
Published in
3 min readJul 28, 2020

Material Design Component 的 BottomSheet是一個由底部由下往上展開的,可以滑動來展開、收合的View。

BottomSheet會自動幫你處理好這些事:

  • 由下往上滑出畫面。
  • 往上滑展開頁面,往下滑縮小頁面,再往下則關閉頁面。
  • 點擊旁邊灰色區塊關閉頁面

第1種方式是在Activity裡開啟BottomSheetDialog載入一個Layout

把要彈出的這個建立一個Layout:bottom_sheet.xml,這個Layout裡面就是放要彈出的畫面。

Activity在點下button要由下往上彈出該Layout時,使用BottomSheetDialog來載入R.layout.bottom_sheet,再呼叫.show()。

BottomSheetDialogFragment

第2種方式是在裡面放一個Fragment。

建立FragmentLayout:fragment_bottom_sheet.xml

建立BottomSheetFragment繼承BottomSheetDialogFragment。那麼在這個Fragment點了哪個按鈕如果要回傳Activity則可以建立一個Callback:OnDialogButtonFragmentListener用來回傳在這個畫面選擇了Share、Link或Edit。

在MainActivity,使用bottomSheetFragment.show開啟BottomSheetFragment,這樣就完成啦。

--

--