Flutter Android后退按钮导航回主页

时间:2018-09-12 17:29:24

标签: android dart flutter back-button

我希望能够使用“后退”按钮导航回主页而不是关闭应用程序,我已经看到了WillPopScope窗口小部件选项,但是需要显示一个对话框,有没有办法使用没有对话框的android后退按钮?

2 个答案:

答案 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()
    );
}