首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用BottomSheetDialogFragment删除底部工作表中的Dim背景

使用BottomSheetDialogFragment删除底部工作表中的Dim背景
EN

Stack Overflow用户
提问于 2019-10-05 19:28:52
回答 1查看 2.8K关注 0票数 6

我正在使用BottomSheetDialogFragment显示底部工作表。我怎样才能移除模糊的背景?

我已经做了透明的背景,但当底部的床单弹出,背景在它下面黯淡。

代码语言:javascript
运行
复制
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() {
}

}

EN

回答 1

Stack Overflow用户

发布于 2020-07-24 11:01:11

在onStart回调中调用这个

代码语言:javascript
运行
复制
override fun onStart() {
    super.onStart()
    dialog?.window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
}
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58251660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档