Un SpatialDialog è un componente spazializzato che viene visualizzato sopra i contenuti al livello di elevazione di base.
Mostra una finestra di dialogo spaziale
L'esempio seguente mostra una finestra di dialogo spaziale che si apre dopo un breve ritardo.
Quando viene utilizzato SpatialDialog, la finestra di dialogo viene visualizzata alla stessa profondità z del pannello spaziale e il pannello viene spostato indietro di 125 dp quando la spazializzazione è attiva. SpatialDialog può essere utilizzato anche quando la spazializzazione non è attiva, nel qual caso SpatialDialog torna alla sua controparte 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") } } } } }
Punti chiave sul codice
- Questo è un esempio di
SpatialDialog, ma l'utilizzo diSpatialPopupeSpatialElevationè molto simile. Per saperne di più, consulta il nostro Riferimento API.