DialogFragment圆角 - 如何设置透明度

3
我为dialogFragment制作了自定义布局,带有圆角,但是当调用对话框时,圆角显示出现了问题,如下所示。

https://i.imgur.com/aE4PMhZ.png

我知道我需要设置透明度 dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); 但我不知道在我的代码中应该放置在哪里,另外我正在使用Kotlin。

下面是调用Dialog的代码部分。

 myDialog = Event_Dialog.newInstance(args,args1)
                myDialog.show(fragmentManager, "MyDialog")

这是 Event_Dialog 类。

class Event_Dialog : DialogFragment() {

companion object {

    fun newInstance(bundle: String, bundle1: String): Event_Dialog {
        //description
        val args: Bundle = Bundle()
        args.putString("desc", bundle)
        //link
        args.putString("link", bundle1)

        val fragmentDialog = Event_Dialog()
        fragmentDialog.arguments = args

        return fragmentDialog
    }
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val x = inflater.inflate(R.layout.event_detail, container, false)
some code.......
return x

请问在哪里设置自定义背景的透明度?谢谢!

1个回答

10
只需将其放在onCreateDialog中,如下所示:
 override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
    val dialog = super.onCreateDialog(savedInstanceState)
    dialog.window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
    return dialog
}

我建议您在对话框中使用FrameLayout作为根视图(与父级匹配),并在其中设计您的中心布局。


@radekdob 不客气,如果它对您有帮助,请将其标记为正确答案。谢谢。 - Vahab Ghadiri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接