
Google Material Design之Bottom Sheet文档
本节介绍Material Design中的组件之一Bottom Sheet
如何添加?
1、在你的builde.gradle
文件中,添加最新版的appcompat
和design
依赖库.
1 | dependencies { |
2、设置app:layout_behavior
属性的值@string/bottom_sheet_behavior
,将允许你的View或者ViewGroup作为一个bottom Sheet展现出来
1 |
|
提示:你能够使用behavior_peekHeight
属性设置bottom sheet的默认高度
3、添加你的视图作为直接为CoordinatorLayout
的一个孩子,实现bottom sheet的特性
1 |
|
提示:你能够在<include>
节点下包裹你的View或者ViewGroups,为了保持整理你的布局。请记住,bottom sheet中的滑动容器(scrolling container)必须支持嵌套滑动(比如 NestedScrollView, RecyclerView, 或者API 21以下的ListView/ScrollView)。
4、根据一个视图有着底部特性设置的引用来获得一个BottomSheetBehavior
的引用,使用BottomSheetBehavior
里的from
方法
1 | LinearLayout bottomSheetViewgroup |
5、对于展开你的bottom sheet使用setState
方法并传递参数BottomSheetBehavior.STATE_EXPANDED
1 | bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); |
提示:你能够处理来源于setState
方法的这些状态:
STATE_COLLAPSED
: 默认的折叠状态, bottom sheets只在底部显示一部分布局。显示高度可以通过 app:behavior_peekHeight 设置(默认是0)STATE_DRAGGING
: 过渡状态,此时用户正在向上或者向下拖动bottom sheetSTATE_SETTLING
: 视图从脱离手指自由滑动到最终停下的这一小段时间STATE_EXPANDED
: bottom sheet 处于完全展开的状态:当bottom sheet的高度低于CoordinatorLayout
容器时,整个bottom sheet都可见;或者CoordinatorLayout
容器已经被bottom sheet填满。STATE_HIDDEN
: 默认无此状态(可通过app:behavior_hideable
启用此状态),启用后用户将能通过向下滑动完全隐藏 bottom sheet
Modal bottom sheets
BottomSheetDialog
创建一个BottomSheetDialog,例如:
1 | BottomSheetDialog dialog = new BottomSheetDialog(context); |
BottomSheetDialogFragment
1、创建一个类继承BottomSheetDialogFragment
inflated一个布局,将会作为你的Modal bottom Sheet的内容而被使用
1 | public class ModalBottomSheet |
2、创建一个你的modal bottom sheet实例并且使用它的show
方法去显示,需要传递的参数是一个SupportFragmentManager
和一个String.
1 | ModalBottomSheet modalBottomSheet = new ModalBottomSheet(); |