在我的三星Galaxy S22+与一个UI 5.0和Android 13,组成AlertDialog总是占用全宽,在其他设备上,它的工作正如预期。
合成版本为1.3.1
您可以通过下载material catalog app from Google Play store来重现这个过程。
我怀疑这很可能是一个错误的组成方面,如果有一个快速修复,我会很感激。
@Composable
fun AlertDialogSample() {
val openDialog = remember { mutableStateOf(true) }
if (openDialog.value) {
AlertDialog(
onDismissRequest = {
// Dismiss the dialog when the user clicks outside the dialog or on the back
// button. If you want to disable that functionality, simply use an empty
// onCloseRequest.
openDialog.value = false
},
title = {
Text(text = "Title")
},
text = {
Text(
"This area typically contains the supportive text " +
"which presents the details regarding the Dialog's purpose."
)
},
confirmButton = {
TextButton(
onClick = {
openDialog.value = false
}
) {
Text("Confirm")
}
},
dismissButton = {
TextButton(
onClick = {
openDialog.value = false
}
) {
Text("Dismiss")
}
}
)
}
}
2条答案
按热度按时间fhity93d1#
可组合警报对话框接受
DialogProperties
默认为
usePlatformDefaultWidth = true
,因此对话框不应填满屏幕宽度。lnlaulya2#
在我的设备上更新Android 13后,带有XML布局的对话框占用了预期宽度。但编写
AlertDialog
和Dialog
占用了全宽。我们仅在编写对话框时遇到此问题,我正在使用三星Galaxy M32,配备One UI 5.0和Android 13**,应用程序使用编写版本1.1.0-beta 01和
targetSdkVersion
33,使用
usePlatformDefaultWidth = true
没有帮助,此问题很可能是编写端的错误,您可以在编写中找到Dialog和AlertDialog的快速修复程序,
1.用于编写警报对话框()
我使用了修饰符,并将
DialogProperty
usePlatformDefaultWidth
设置为false,并将fillMaxWidth
设置为小数0.92f。编写AlertDialog()代码片段:
1.用于合成对话框()
我已经使用
Surface
将对话框内容 Package 为modifier = Modifier.fillMaxWidth(0.92f)
、带半径的RoundedCornerShape
,将Color.Transparent
设置为背景色**,并将DialogProperty usePlatformDefaultWidth
设置为false**编写对话框()代码片段: