android Jetpack组成:对话框模态之外的关闭按钮

ktca8awb  于 2023-03-21  发布在  Android
关注(0)|答案(1)|浏览(106)

我想创建一个对话框模态,其中关闭按钮位于实际对话框的外部,如下所示:

这是否违反了材质设计标准--是否意味着我有理由修改对话框的UI设计?如果没有,有没有一种直接的方法来实现它?

kg7wmglp

kg7wmglp1#

您可以将AlertDialog变体与content参数一起使用,并将ColumnTransparent背景一起使用,在Transparent背景中可以添加Button和AlertDialog内容。
比如:

val openDialog = remember { mutableStateOf(true) }

    if (openDialog.value) {
        AlertDialog(
            onDismissRequest = {
                openDialog.value = false
            }
        ) {
            Column(modifier = Modifier.background(Transparent)) {

                Button(
                    modifier = Modifier.align(Alignment.End).padding(bottom = 10.dp),
                    onClick = {openDialog.value = false},
                ) {
                    Text("Close")
                }

                Surface(
                    modifier = Modifier
                        .wrapContentWidth()
                        .wrapContentHeight(),
                    shape = MaterialTheme.shapes.large
                ) {
                  //AlertDialog content                            
                }
            }
        }
   }

相关问题