android - 在 Flutter 中以编程方式调用 onBackpress
问题描述
我如何在 Flutter 上以编程方式调用 backpress 函数(onWillPop)。
在 Android Native 中,我需要做的是在需要模拟后按点击时调用它。
this.onBackPressed();
我的 onBackPress 函数,它在 WillPopScope 中设置为onWillPop:
Future<bool> _onBackPressed() {
return showDialog(
context: context,
builder: (context) => new AlertDialog(
title: Text("Você tem certeza?"),
content: Text('Você realmente quer sair do app'),
actions: <Widget>[
new RaisedButton(
onPressed: () => Navigator.of(context).pop(false),
child: Text("Não")
),
new RaisedButton(
onPressed: _signOut,
child: Text("Sim")
),
],
),
) ??
false;
}
它显示一个对话框,如果单击是,则应用程序注销。
我的想法是在 AppBar 上创建一个后退箭头来做同样的事情
解决方案
如果要调用 onWillPop,只需在 Navigator 上调用以下方法而不是 pop 方法。调用onWillPop会导致flutter。
Navigator.of(context).maybePop();
推荐阅读
- python - Python OS.环境
- octave - 使用 fminunc 进行无约束最小化,在目标函数中使用约束,与使用约束最小化函数,例如 fmincon、sqp?
- python - 并排排列文本文件以制作矩阵文件
- sql-server - SQL CPU 脚本 - 计算连续出现的值
- javascript - 如何在容器 React js 中应用函数
- python - 在 Python 过滤数据中使用 Pandas 进行 DF 分析
- google-cloud-platform - PubSub 确认截止日期
- ios - 如何检测动态库加载 xamarin ios?
- magento2 - 每个 URL 都重定向 (301) 到非尾随链接 URL
- mysql - 基于多个 JOINS 创建输出