空間ダイアログ

対象となる XR デバイス
このガイダンスは、次のようなタイプの XR デバイス向けのエクスペリエンスを構築する際に役立ちます。
XR ヘッドセット
有線 XR グラス

SpatialDialog は、ベースの標高レベルでコンテンツの上に表示される空間化されたコンポーネントです。

空間ダイアログを表示する

次の例は、短い遅延の後に開く空間ダイアログを示しています。SpatialDialog を使用すると、ダイアログは空間パネルと同じ Z 深度に表示され、空間化が有効になっている場合はパネルが 125 dp 押し戻されます。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")
                }
            }
        }
    }
}

コードに関する主なポイント