Presta atención porque en este tutorial vas a hallar la respuesta que buscas.
Solución:
Puede escuchar el mensaje emergente con WillPopScope (crea un widget que registra una devolución de llamada para vetar los intentos del usuario de descartar el mensaje adjunto). [ModalRoute]. -> de la documentación):
@override
Widget build(BuildContext context)
return WillPopScope(
onWillPop: ()
print('Backbutton pressed (device or appbar button), do whatever you want.');
//trigger leaving and use own data
Navigator.pop(context, false);
//we need to return a future
return Future.value(false);
,
child: Scaffold(
...
),
);
¡Espero haber respondido bien a tu pregunta y eso ayude :)!
Puede anular la flecha hacia atrás predeterminada en el AppBar
y luego especifique el valor que le gustaría devolver para activar el cambio de estado cuando Navigator.pop
se llama:
Pseudocódigo
por lo que necesita tener algo como esto en su onPressed
devolución de llamada de su botón de navegación
onPressed: ()asyncnav==null)
//change the state
,
y en tu nueva ruta deberías tener algo como esto
new AppBar(
leading: new IconButton(
icon: new Icon(Icons.arrow_back),
onPressed: ()Navigator.pop(context,true)
),
Estoy comprobando ambos valores. null
o true
porque el null El valor se devuelve cuando el usuario presiona el botón Atrás en la pantalla de Android (el que está en la parte inferior de la pantalla). yo tambien creo el null también se devolverá con el BackButton predeterminado en Flutter, por lo que en realidad no necesita anular el leading
propiedad, pero no lo he comprobado yo mismo, por lo que puede valer la pena comprobarlo.
Sección de Reseñas y Valoraciones
Eres capaz de sustentar nuestra ocupación poniendo un comentario y dejando una puntuación te lo agradecemos.