我能打开我的BottomSheetDialogFragment与
val bottomSheet = BottomSheetFragment()
bottomSheet.show(fragmentManager!!, "BottomSheet")
但它只是打开显示其内容的一半 - 我想它在打开屏幕的全高扩展,而无需拖动它。
我环顾四周,似乎一个方法是将BottomSheetBehavior状态设置为STATE_EXPANDED,但我一直没能找到关于如何做到这一点在科特林的解决方案。
任何帮助,将不胜感激!
你可以把你的BottomSheetBehavior
的这里面onViewCreated
设置BottomSheetDialogFragment
状态。
dialog.setOnShowListener { dialog ->
val d = dialog as BottomSheetDialog
val bottomSheet = d.findViewById<View>(R.id.design_bottom_sheet) as FrameLayout
val bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet)
bottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
}
您可能还需要在偷看高度设为您的对话框的高度,以防止该对话框试图关闭它时卡住了一半。
bottomSheetBehavior.peekHeight = bottomSheet.height