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") } } } } }
コードに関する主なポイント
- これは
SpatialDialogの例ですが、SpatialPopupとSpatialElevationの使用は非常に似ています。詳細については、API リファレンスをご覧ください。