这个问题比较简单,网上解决方案也很多,我这里只是记录下我的需求。在DialogFragment初始化dialog时处理。
companion object { /** * 最大设置弹窗高度 默认展开无折叠情况 根据设计稿 */ const val PREFERENCE_DIALOG_MAX_HEIGHT = 526f } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val dialog = BaseBottomSheetDialogFragment.TideBottomSheetDialog(context!!) dialog.setOnShowListener { dialog.window?.apply { val bottomSheet = decorView.findViewById<View>(R.id.design_bottom_sheet) val behavior = BottomSheetBehavior.from(bottomSheet) behavior.peekHeight = DisplayUtil.dpToPx(PREFERENCE_DIALOG_MAX_HEIGHT) behavior.setState(BottomSheetBehavior.STATE_EXPANDED) } } return dialog }
就这么多,其他的没什么必要,有人还要监听很多种状态的,就不一样了。
本站由以下主机服务商提供服务支持:
swithun
behavior.peekHeight,peekHeight 应该是半展开的高度吧,跟全展开不一样
Mosaic-C
嗯,是半展开高度,毕竟是底部 dialog,全铺满就不必考虑dialog 了。