空间对话框

适用的 XR 设备
本指南可帮助您为以下类型的 XR 设备打造优质体验。
扩展现实头戴设备
有线扩展现实眼镜

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")
                }
            }
        }
    }
}

代码要点