Сначала вам нужно установить имена для ваших маршрутов в MaterialApp
:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
initialRoute: '/',
routes: {
'/': (context) => MyHomePage(),
'/second': (context) => Page2(),
'/third': (context) => Page3(),
},
);
}
}
Затем вам нужно обернуть Scaffold
третьей страницы (или любой другой страницы, с которой вы хотите чтобы вернуться к HomePage
) с помощью WillPopScope
, чтобы изменить то, что происходит, когда пользователь нажимает кнопку «Назад». Наконец, вам нужно использовать popUntil
, чтобы вернуться к HomePage
.
Это код для метода build
третьей страницы:
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () {
Navigator.of(context)
.popUntil(ModalRoute.withName("/"));
return Future.value(false);
},
child: Scaffold(
body: Center(
child: Container(
child: Text('third page'),
),
),
),
);
}