DialogWindow 圆角

问题描述 投票:0回答:1

我在撰写桌面中使用DialogWindow,我尝试为对话框应用圆角,但应用不正确。

要生成的代码:

 Surface(
                modifier = Modifier.fillMaxSize().zIndex(1f),
                color =  Color.Black.copy(0.7f),
            ) {
                FullScreenDialog(window, onDismissRequest = {}, title = "title", visibility = true) {
                    Row(
                        modifier = Modifier.clip(RoundedCornerShape(12.dp))
                            .background(Red)
                            .height(64.dp)

                    ) {
                        androidx.compose.material.Text(
                            text = "some text",
                        )
                    }
                }
            }

全屏对话框:

 DialogWindow(
            create = {
                ComposeDialog().apply {
                    this.title = title
                    isUndecorated = true
                    isResizable = false
                    this.isAlwaysOnTop = true

                    addComponentListener(object : ComponentAdapter() {
                        override fun componentHidden(e: ComponentEvent?) {
                            super.componentHidden(e)
                            onDismissRequest()
                        }

                        override fun componentShown(e: ComponentEvent?) {
                            super.componentShown(e)
                            pack()
                            val screenSize = window.size
                            val x = (screenSize.width - width) / 2
                            val y = (screenSize.height - height) / 2
                            setLocation(x, y)
                        }
                    })
                }
            }, dispose = {
               
            }, content = {
                content()
            }
        )

对话框如下所示:

android-jetpack-compose jdialog compose-desktop
1个回答
0
投票

ComposeDialog
有默认背景颜色,你可以在
componentShown
中删除它:

override fun componentShown(e: ComponentEvent?) {
    super.componentShown(e)
    background = java.awt.Color(0, 0, 0, 0)
© www.soinside.com 2019 - 2024. All rights reserved.