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

标签 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);
  }

关于dart - 如何使用 flutter 编写按下双后退按钮以退出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53496161/

相关文章:

dart - Dart 中的替代方法(例如JAVA)

flutter - 无法从静态方法dart访问实例成员

dart - Dart 。在使用聚合物的新MAP中,为什么会得到 “too many elements”?

android - Flutter:如何在 Gridview.count 下使用无限滚动显示指示器

ios - pod 安装 : CocoaPods could not find compatible versions for pod "Firebase/CoreOnly" 上的 Flutter 错误

flutter - ButtonBar处理行溢出?

flutter - 如何在 Flutter 的 iOS 和 Android(原生)上显示不同的日期选择器?

flutter - flutter :在 Debug模式下构建时,运行pod安装将永远花费

flutter - Dart 动画 MaterialApp 主屏幕

android - 如何定义与另一个列表长度相同的默认列表