dart - 如何使用 flutter 编写按下双后退按钮以退出应用程序

我是 Flutter 的新手,我看到很多 Android 应用在双击返回按钮时会退出。

第一次按下后退按钮,应用程序显示 toast “再次按下退出应用程序”。 第二次按下,应用程序退出。 当然,两次按下之间的时间一定不长。

flutter 中怎么做?

最佳答案

这是我的代码示例(我使用“fluttertoast”来显示 toast 消息,您可以使用 snapbar 或 alert 或其他任何东西)

DateTime currentBackPressTime;

@override
Widget build(BuildContext context) {
  return Scaffold(
    ...
    body: WillPopScope(child: getBody(), onWillPop: onWillPop),
  );
}

Future<bool> onWillPop() {
    DateTime now = DateTime.now();
    if (currentBackPressTime == null || 
        now.difference(currentBackPressTime) > Duration(seconds: 2)) {
      currentBackPressTime = now;
      Fluttertoast.showToast(msg: exit_warning);
      return Future.value(false);
    }
    return Future.value(true);
  }

https://stackoverflow.com/questions/53496161/

相关文章:

dart - Flutter BottomNavigationBar 不能处理三个以上的项目

dart - flutter 导航器不工作

android - 在 flutter 中打开对话框时检测返回按钮按下

android - Flutter - 另一个 Listview 中的 Listview.build

android - 如何在 Flutter 中为按钮添加渐变?

flutter - Flutter中如何实现自定义对话框?

dart - Flutter Firestore 服务器端时间戳

dart - Flutter TextField 自动完成覆盖

dart - 如何在我的 Flutter 应用程序中重置基本路由 - 即弹出任何路由并使用 Navi

dart - 如何正确创建评分星条?