Android 使用BottomSheetDialogFragment删除底部图纸中的暗淡背景
我正在使用BottomSheetDialogFragment显示底部工作表如何删除暗淡的背景? 我制作了透明的背景,但当底部纸张弹出时,它下面的背景会变暗Android 使用BottomSheetDialogFragment删除底部图纸中的暗淡背景,android,Android,我正在使用BottomSheetDialogFragment显示底部工作表如何删除暗淡的背景? 我制作了透明的背景,但当底部纸张弹出时,它下面的背景会变暗 class ClearDataBottomSheet : BottomSheetDialogFragment { private lateinit var contentView: View constructor() { } override fun onCreate(savedInstanceState: Bundle?) {
class ClearDataBottomSheet : BottomSheetDialogFragment {
private lateinit var contentView: View
constructor() {
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState) as BottomSheetDialog
dialog.setCancelable(false)
dialog.setOnShowListener { dialog ->
val d = dialog as BottomSheetDialog
val bottomSheet = d.findViewById<FrameLayout>(com.google.android.material.R.id.design_bottom_sheet)
BottomSheetBehavior.from(bottomSheet!!).state = BottomSheetBehavior.STATE_EXPANDED
}
// Do something with your dialog like setContentView() or whatever
return dialog
}
override fun setupDialog(dialog: Dialog, style: Int) {
super.setupDialog(dialog, style)
contentView = View.inflate(context, R.layout.clear_data_bottom_sheet, null)
dialog.setContentView(contentView)
initview()
//tomake background transparent
try {
context?.let { ContextCompat.getColor(it, android.R.color.transparent) }?.let { (contentView.parent as View).setBackgroundColor(it) }
} catch (e: Exception) {
}
}
private fun initview() {
}
类ClearDataBottomSheet:BottomSheetDialogFragment{
私有lateinit var contentView:视图
构造函数(){
}
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
}
重写FunonCreateDialog(savedInstanceState:Bundle?:对话框){
val dialog=super.onCreateDialog(savedInstanceState)作为BottomSheetDialog
对话框。可设置可取消(false)
dialog.setOnShowListener{dialog->
val d=对话框作为底部对话框
val bottomSheet=d.findviewbyd(com.google.android.material.R.id.design\u bottom\u sheet)
BottomSheetBehavior.from(bottomSheet!!).state=BottomSheetBehavior.state\u展开
}
//对对话框执行一些操作,如setContentView()或其他任何操作
返回对话框
}
覆盖对话框(对话框:对话框,样式:Int){
super.setupDialog(对话框,样式)
contentView=视图.充气(上下文,R.layout.clear\u数据\u底部\u表,空)
对话框.setContentView(contentView)
initview()
//使背景透明
试一试{
context?.let{ContextCompat.getColor(it,android.R.color.transparent)}?.let{(contentView.parent作为视图).setBackgroundColor(it)}
}捕获(e:例外){
}
}
私有视图(){
}
}在onStart回调中调用此函数
override fun onStart() {
super.onStart()
dialog?.window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
}
先知们宣布了你的到来。