我是新手,我看到很多android应用程序都可以在双击后退按钮时退出.

第一次按下后退按钮时,应用程序会显示一个祝wine 词"再次按下退出应用程序".

如何在拍打中做到这一点呢?

推荐答案

这是我的代码示例(我使用"flttertoast"来显示 cogo toast 消息,您可以使用Snackbar或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);
  }

Flutter相关问答推荐

我遇到了一个问题,从showDialogue()调用Navigator.pop()两次导致屏幕空白

Android Studio中的Ffltter&;Couchbase:进程C:/Program Files/Git/bin/bash以非零退出值35结束

悬停时打开Flutter 下拉按钮

如何使用flutter_local_notification包处理通知操作?

dart /长笛中的返回早期模式和拆分方法

Flutter:我的应用程序是否需要包含退款购买?

升级到 Flutter 3.10 后,Flutter 键盘填充不起作用. Flutter 3.10 如何防止 BottomSheet 被键盘覆盖?

是否可以在 flutter 应用程序中使用 jetpack compose?

使用堆栈的自定义按钮

Flutter blue plus 库,当try 从 esp32 驱动程序获取 PlatformException 时读取特性

setState 方法有时有效,有时无效

如何在 flutter 中同时使用 ButtonStyle() 和 ElevatedButton.styleFrom() ?

应用程序和应用程序内的 webview 之间的单点登录

如何在向下滚动时隐藏顶部卡片并在向上滚动时出现?

容器在发布模式下显示灰色框(抖动)

CircleAvatar 在 ListTile 中领先

Flutter :RangeError(索引):无效值:不在包含范围内0..3:4使用IndexedListView.builder

Flutter_riverpod 安装时出现问题

如何在没有上下文的情况下使用国际Flutter ?

Flutter .replaceFirst(或全部)不起作用