SpatialDialog 是一种空间化组件,显示在基础高度级别的内容之上。
显示空间对话框
以下示例展示了一个在短暂延迟后打开的空间对话框。
使用 SpatialDialog 时,对话框会显示在与空间面板相同的 Z 轴深度,并且在启用空间化时,面板会向后推 125dp。SpatialDialog 也可在未启用空间化时使用,在这种情况下,SpatialDialog 会回退到其 2D 对应项 Dialog。
@Composable fun DelayedDialog() { var showDialog by remember { mutableStateOf(false) } LaunchedEffect(Unit) { delay(3000.milliseconds) showDialog = true } if (showDialog) { SpatialDialog( onDismissRequest = { showDialog = false }, SpatialDialogProperties( dismissOnBackPress = true ) ) { Box( Modifier .height(150.dp) .width(150.dp) ) { Button(onClick = { showDialog = false }) { Text("OK") } } } } }
代码要点
- 这是
SpatialDialog的示例,但使用SpatialPopup和SpatialElevation非常相似。如需了解详情,请参阅我们的 API 参考文档。