Android 如何在Kotlin中打开完全展开的片段?

Android 如何在Kotlin中打开完全展开的片段?,android,kotlin,bottom-sheet,Android,Kotlin,Bottom Sheet,我可以用 val bottomSheet = BottomSheetFragment() bottomSheet.show(fragmentManager!!, "BottomSheet") 但它只会打开显示一半的内容——我希望它在打开时能够扩展到屏幕的整个高度,而不必将其向上拖动 我环顾四周,似乎有一种方法是将BottomSheetBehavior状态设置为state_EXPANDED,但我还没有找到在Kotlin中如何执行此操作的解决方案 任何帮助都将不胜感激 您可以通过将其放置在内部来设

我可以用

val bottomSheet = BottomSheetFragment()
bottomSheet.show(fragmentManager!!, "BottomSheet")
但它只会打开显示一半的内容——我希望它在打开时能够扩展到屏幕的整个高度,而不必将其向上拖动

我环顾四周,似乎有一种方法是将BottomSheetBehavior状态设置为state_EXPANDED,但我还没有找到在Kotlin中如何执行此操作的解决方案


任何帮助都将不胜感激

您可以通过将其放置在内部来设置
BottomSheetBehavior
状态
onview为您的
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
}

太好了,谢谢!只需将findViewbyId参数更改为com.google.android.material.R.id.design_bottom_sheet,因为我使用的是AndroidxWorks,只需为对话框
.xml
布局文件提供一些最小高度,因为我没有太多内容。工作非常出色,同样@SQLol不得不将其从“R.id.design_bottom__sheet”更改为“com.google.android.material.R.id.design\u bottom\u sheet”感谢无法显示bottom sheet.bottomSheetDialogFragment.show(fragmentManager!!,“BottomSheet”)此行显示错误设置
bottomSheetBehavior.peek height=bottomSheet.height
的问题是,当您向下滑动以取消显示时,对话框实际上不会取消显示,屏幕上会留下灰色重叠。
bottomSheetBehavior.peekHeight = bottomSheet.height