我有一个对话框,用户可以在其中选择某些内容,并且根据选择,布局将更新。问题是对话框的高度永远不会更新以反映布局更改。
如何重构对话框以使布局适合对话框?
示例:
@Composable
fun AlertDialogTest() {
var showDialog by remember { mutableStateOf(false)}
var showExtra by remember { mutableStateOf(false)}
Button(onClick = { showDialog = true }) {
Text("Open dialog")
}
if (showDialog) {
AlertDialog(
text = {
Column { Button(onClick = {showExtra = true}) {
Text ("Show rest of dialog")
}
if (showExtra) {
Text("More text", style = MaterialTheme.typography.h5)
Text("Even more text", style = MaterialTheme.typography.h5)
}
}
},
confirmButton = { TextButton(onClick = { showDialog = false }) {
Text("Close")
}},
onDismissRequest = {showDialog = false},
)
}
}
结果:
答案 0 :(得分:0)
您是否尝试将修饰符 - animateContentSize()
和 wrapContentSize()
插入对话框?
答案 1 :(得分:0)
它在 beta08
中确实按我的预期工作。然后,在升级到 rc02
后,它停止工作 - 弹出对话框、下拉菜单(基本上是平台窗口支持的所有元素)在内容大小更改时停止正确调整大小。事实上,我发现了一个错误 - https://issuetracker.google.com/issues/194911971。遗憾的是,目前我还没有找到解决方法,所以我们最好等到它修复。