Flutter Android 后退按钮导航回到主页

Flutter Android back button navigating back to main page

我希望能够使用后退按钮导航回主页而不是关闭应用程序,我看到了 WillPopScope 小部件选项,但需要显示一个对话框,有没有办法弹出在没有对话框的情况下使用 android 后退按钮返回?

您可以使用 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()));
          },
        ),
      ),
    );
  }
}

onWillPop 回调需要返回布尔值的 Future。你可以做到

Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () {
        return Future.value(true); // or return Future.value(false);
      },
      child: Container()
    );
}