我希望能够使用“后退”按钮导航回主页而不是关闭应用程序,我已经看到了WillPopScope窗口小部件选项,但是需要显示一个对话框,有没有办法使用没有对话框的android后退按钮?
答案 0 :(得分:2)
您可以使用Navigator.canPop()方法来避免应用退出。
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async {
return Navigator.canPop(context);
},
child: Scaffold(
appBar: AppBar(title: const Text('HomePage')),
floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.add),
backgroundColor: Colors.red,
onPressed: () {
Navigator.push(
context, MaterialPageRoute(builder: (context) => SecondPage()));
},
),
),
);
}
}
答案 1 :(得分:0)
onWillPop回调需要返回bool的Future。你可以做
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () {
return Future.value(true); // or return Future.value(false);
},
child: Container()
);
}