Saltar al contenido

Cómo diseñar acciones de AlertDialog en Flutter

Hacemos una verificación completa cada posts de nuestra web con el objetivo de enseñarte en todo momento la información más veraz y actualizada.

Solución:

Personalizar widget

Edite el widget en sí: bajo el AlertDialog hay un widget de ButtonBar donde puedes usar alignment: MainAxisAlignment.spaceBetween para alinear los botones correctamente. Consulte esta respuesta para ver un ejemplo de un widget AlertDialog personalizado.

Fila de botones propia

También puede quitar los botones debajo actions y añadir una propia costumbre Row con RaisedButtons en él, de alguna manera así:

Row (
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    children: [
        RaisedButton(), // button 1
        RaisedButton(), // button 2
    ]
)

En su caso, podría agregar una Columna alrededor de la Fila en content y allí agregue su Fila existente y la modificada que creó a partir del ejemplo anterior.

Mover botones al contenido es una buena solución.

showDialog(
              context: context,
              barrierDismissible: false,
              builder: (BuildContext context) 
                return AlertDialog(
                  title: Center(child: Text('Alert')),
                  content: Column(
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      Container(
                        child: Text(
                          "message",
                          textAlign: TextAlign.center,
                          style: TextStyle(
                            color: Colors.red,
                          ),
                        ),
                      ),
                      Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: [
                          FlatButton(
                              child: Text('Yes'),
                              onPressed: () 
                                Navigator.of(context).pop();
                              ),
                          FlatButton(
                              child: Text('No'),
                              onPressed: () 
                                Navigator.of(context).pop();
                              )
                        ])
                    ],
                  ),
                );
              );

No agregue el botón en comportamiento de AlertDialog. Como puedes ver.

_onSubmit(message) 
    if (message.isNotEmpty) 
      showDialog(
        context: context,
        barrierDismissible: false,
        builder: (BuildContext context) 
          return AlertDialog(
            title: Center(child: Text('Alert')),
            content: Row(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children : [
                Expanded(
                  child: Text(
                    message,
                    textAlign: TextAlign.center,
                    style: TextStyle(
                      color: Colors.red,

                    ),
                  ),
                ),

         FlatButton(
                  child: Text('Cancel'),
                  onPressed: () 
                    Navigator.of(context).pop();
                  ),
              FlatButton(
                  child: Text('Ok'),
                  onPressed: () 
                    _inputTextController.clear();
                    Navigator.of(context).pop();
                  )
              ],
            ),
          );
        ,
      );
    
  

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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