DialogFragment圆角-如何设置透明度

rad*_*dob 3 android dialog rounded-corners kotlin

我已经为带有圆角的dialogFragment制作了自定义布局,但是当调用对话框时,角是圆角的,他如下所示。

https://i.stack.imgur.com/rnlKJ.png

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

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

 myDialog = Event_Dialog.newInstance(args,args1)
                myDialog.show(fragmentManager, "MyDialog")
Run Code Online (Sandbox Code Playgroud)

这是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
Run Code Online (Sandbox Code Playgroud)

你能告诉我应该在哪里设置自定义背景的透明度吗?谢谢 !

Vah*_*iri 10

只需将其放入 oncreatedialog 中,如下所示:

 override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
    val dialog = super.onCreateDialog(savedInstanceState)
    dialog.window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
    return dialog
}
Run Code Online (Sandbox Code Playgroud)

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