网上收集测试有效,记录以便使用。
显示布局实际高度。
override fun onStart() {
super.onStart()
val dialog = dialog as BottomSheetDialog
val bottomSheet = dialog.delegate.findViewById<View>(com.google.android.material.R.id.design_bottom_sheet)
bottomSheet?.layoutParams?.height = ViewGroup.LayoutParams.WRAP_CONTENT
val view = view
view?.post {
val parent = view.parent as View
val params = parent.layoutParams as CoordinatorLayout.LayoutParams
val behavior = params.behavior
val bottomSheetBehavior = behavior as BottomSheetBehavior<*>?
bottomSheetBehavior!!.peekHeight = view.measuredHeight
}
}
透明背景圆角。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
<solid android:color="@color/color_item" />
</shape>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setStyle(STYLE_NORMAL, R.style.CommentDialogTheme)
}
<style name="CommentDialogTheme" parent="Theme.MaterialComponents.Light.BottomSheetDialog">
<item name="bottomSheetStyle">@style/CommentDialogStyle</item>
</style>
<style name="CommentDialogStyle" parent="Widget.Design.BottomSheet.Modal">
<item name="android:background">@color/transparent</item>
</style>
参考:https://www.jianshu.com/p/a3f238d4cdc7
https://blog.csdn.net/qq_16624353/article/details/100042975