如何在 Kotlin 中打开完全展开的 BottomSheetDialogFragment?
How to open BottomSheetDialogFragment fully expanded in Kotlin?
我可以用
打开我的 BottomSheetDialogFragment
val bottomSheet = BottomSheetFragment()
bottomSheet.show(fragmentManager!!, "BottomSheet")
但它打开时只显示一半内容 - 我希望它在打开时扩展到屏幕的整个高度,而无需向上拖动它。
我环顾四周,似乎一种方法是将 BottomSheetBehavior 状态设置为 STATE_EXPANDED,但我无法找到关于如何在 Kotlin 中执行此操作的解决方案。
如有任何帮助,我们将不胜感激!
你可以通过把这个放在里面来设置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
我可以用
打开我的 BottomSheetDialogFragmentval bottomSheet = BottomSheetFragment()
bottomSheet.show(fragmentManager!!, "BottomSheet")
但它打开时只显示一半内容 - 我希望它在打开时扩展到屏幕的整个高度,而无需向上拖动它。
我环顾四周,似乎一种方法是将 BottomSheetBehavior 状态设置为 STATE_EXPANDED,但我无法找到关于如何在 Kotlin 中执行此操作的解决方案。
如有任何帮助,我们将不胜感激!
你可以通过把这个放在里面来设置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