Flutter: Material — Widget AlertDialog


El AlertDialog es un widget que muestra una especie de modal, que viene siendo un diálogo de alerta, que sirve para alertar al usuario sobre ciertas acciones importantes que requieren su atención y confirmación.


AlertDialog

Son cuadros de diálogo que se sobreponen a la pantalla actual de la aplicación bloqueando o desactivando las funciones de la pantalla para que el usuario enfoque su atención en el mismo.

Contenido de AlertDialog

Los AlertDialog en Flutter están compuestos por un título, un contenido y unas acciones.

  • title es una propiedad opcional y el valor es un widget.
  • content es una propiedad requerida y el valor es un widget.
  • actions es una lista de acciones opcionales y su valor es una lista de widgets, por lo general, botones.

Uso de AlertDialog

Para usar un AlertDialog normalmente se realiza enviándose dentro de una función que brinda Flutter para mostrar diálogos encima del contenido actual en una aplicación, con animaciones para mostrar y ocultar el diálogo. Esta función es showDialog . Para los casos que se necesite mostrar un cuadro de diálogo para elegir entre varias opciones, se recomienda usar SimpleDialog .

SimpleDialog

Permite al usuario elegir entre varias opciones. Tiene un título opcional seguido de las opciones a elegir. El uso es igual al de AlertDialog, se llama la función showDialog y se envía como parámetro el SimpleDialog.

showDialog

Un showDialog tiene como parámetros requeridos context y builder . Además de otras propiedades. Esta función recibe por parámetro un AlertDialog o SimpleDialog y se encarga de mostrarlos en la aplicación.

  • context es de tipo BuildContext, es decir, el contexto actual.
  • builder es un widget que por lo general crea un diálogo, en este caso un AlertDialog.
  • barrierDismissible se utiliza para indicar si al tocar la barrera se cierra el cuadro de diálogo.

consideraciones al usar showDialog

  • Cuando se abre un diálogo, Flutter usa un widget que impide la interacción del usuario con el contenido detrás del diálogo. Este widget es ModalBarrier.
  • El widget devuelto por el builder que para este caso es AlertDialog, no comparte contexto con el widget detrás de él o de dónde se llame el diálogo. Para estos casos es recomendable usar un StatefulWidget o StatefulBuilder, si necesitamos que el diálogo se actualice.

Ejemplos

SimpleDialog

showDialog(
context: context,
builder: (context) {
return SimpleDialog(
title: const Text('SimpleDialog básico'),
children: [
SimpleDialogOption(
onPressed: () {},
child: const Text('Opción 1'),
),
SimpleDialogOption(
onPressed: () {},
child: const Text('Opción 2'),
)
],
);
},
);

AlertDialog

showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: const Text('AlertDialog básico'),
content: const Text(
'Podemos colocar información representativa\n'
'para indicar al usuario\n'
'cuál es el fin de las acciones\n'
'que tiene para realizar.',
),
actions: [
TextButton(
style: TextButton.styleFrom(
textStyle: Theme.of(context).textTheme.labelLarge,
),
child: const Text('Cancelar'),
onPressed: () {
Navigator.of(context).pop();
},
),
TextButton(
style: TextButton.styleFrom(
textStyle: Theme.of(context).textTheme.labelLarge,
),
child: const Text('Aceptar'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);

Evidencia

Conclusión 

Para terminar, los cuadros de diálogo son importantes para el usuario a la hora de dar indicaciones sobre los flujos actuales. Si queremos usarlo para darle al usuario la oportunidad de elegir entre varias opciones, se recomienda el uso de SimpleDialog en cualquier otro caso se recomienda AlertDialog .

¡¡¡Gracias por leer este artículo!!!

Referencias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *