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 參考資料。