Saltearse al contenido

Alert dialog

MaterialMaterial 3
Imagen del componente AlertDialog - MaterialImagen del componente Button - Material 3

El composable AlertDialog proporciona una API conveniente para crear un diálogo con el tema de Material Design. A continuación, se describen los parámetros específicos que controlan elementos particulares del diálogo:

Implementación

Definición del componente

Terminal window
@Composable
fun AlertDialog(
onDismissRequest: () -> Unit,
confirmButton: @Composable () -> Unit,
modifier: Modifier = Modifier,
dismissButton: (@Composable () -> Unit)? = null,
title: (@Composable () -> Unit)? = null,
text: (@Composable () -> Unit)? = null,
shape: Shape = MaterialTheme.shapes.medium,
backgroundColor: Color = MaterialTheme.colors.surface,
contentColor: Color = contentColorFor(backgroundColor),
properties: DialogProperties = DialogProperties()
): Unit
AtributoDescripción
onDismissRequestCallback que se llamará cuando el usuario cierra el diálogo.
confirmButtonElemento componible que funciona como botón de confirmación.
modifierModificador que se aplicará al diseño del diálogo.
dismissButtonElemento componible que funciona como botón para descartar.
titleEl título del diálogo que debe especificar el propósito del diálogo.
textEl texto que presenta los detalles sobre el propósito del diálogo.
shapeDefine la forma del diálogo.
backgroundColorEl color de fondo del diálogo.
contentColorEl color de contenido preferido proporcionado por este diálogo a sus hijos.
propertiesNormalmente, propiedades específicas de la plataforma para configurar aún más el diálogo

Ejemplos

En el siguiente ejemplo, se implementan dos botones en un diálogo de alerta: uno para salir del diálogo y otro para aceptar la solicitud

Imagen del componente AlertDialog - Material
Terminal window
@Composable
fun alertDialogDoc() {
val openDialog = remember { mutableStateOf(true) }
if (openDialog.value) {
AlertDialog(
onDismissRequest = {
openDialog.value = false
},
title = {
Text(text = "Documentación de AlertDialog")
},
text = {
Text(
"Descripción de la alerta de ejemplo de material 2."
)
},
confirmButton = {
TextButton(
onClick = {
openDialog.value = false
}
) {
Text("Aceptar")
}
},
dismissButton = {
TextButton(
onClick = {
openDialog.value = false
}
) {
Text("Salir")
}
}
)
}
}