Vous pouvez supprimer le bouton de retour en passant un new Container()
vide en tant qu'argument leading
à votre AppBar
.
Si vous vous retrouvez à faire cela, vous ne voulez probablement pas que l'utilisateur puisse appuyer sur le bouton de retour du périphérique pour revenir à l'itinéraire précédent. Au lieu d'appeler pushNamed
, essayez d'appeler Navigator.pushReplacementNamed
pour faire disparaître l'itinéraire précédent.
La fonction pushReplacementNamed
supprimera l'itinéraire précédent dans la pile arrière et le remplacera par le nouvel itinéraire.
L'exemple de code complet pour ce dernier se trouve ci-dessous.
import 'package:flutter/material.dart';
class LogoutPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Page de déconnexion"),
),
body: new Center(
child: new Text('Vous avez été déconnecté'),
),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Supprimer le bouton de retour"),
),
floatingActionButton: new FloatingActionButton(
child: new Icon(Icons.fullscreen_exit),
onPressed: () {
Navigator.pushReplacementNamed(context, "/logout");
},
),
);
}
}
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Exemple Flutter',
home: new MyHomePage(),
routes: {
"/logout": (_) => new LogoutPage(),
},
);
}
}