flutter 检测硬件返回触发事件

问题描述

登录进入A页面之后,发起A页面的列表接口请求。此时点击其中的一个列表项进入B页面,在B页面进行一些操作之后,B页面可以返回A页面(B页面有一个返回按钮,此外还需要检测设备的返回事件),此时需要A页面重新进行列表接口的请求,获取最新数据

解决方案

// B页面点击返回事件触发
onTap: (){
	Navigator.pop(context, 'back');
}
// A页面点击列表项触发
clickHall(item) async {
    final res = await Navigator.of(context)
        .pushNamed('/xxx', arguments: item);
    if (res == 'back') {
      getHallList();
    }
  }

以上是解决返回按钮触发的事件

// 此外还需要监听到B页面的设备返回事件B页面通过WillPopScope包裹起来
class PageB extends StatelessWidget {

Widget build(BuildContext context) {
	return WillPopScope(
		onWillPop: () async {
			Navigator.pop(context, 'back');
			return false;
		},
		child: Scaffold(
			appBar: AppBar(
				title: Text('pageB')
			),
			body: Center(
          child: Text('Press the back button to return to Page A.'),
        ),
		)
	)
}

以上可以监听到硬件返回事件

### 如何在 VSCode 中设置和使用 Flutter 进行开发 #### 安装必要的插件 为了使 Visual Studio Code 支持 Flutter 开发,需要安装两个重要的扩展——Flutter 和 Dart 扩展[^1]。 ```bash # 使用以下命令来确认已正确安装了 Flutter SDK flutter doctor ``` #### 配置开发环境 完成上述插件的安装之后,应当确保本地已经成功安装了 Flutter SDK。这一步骤可以通过执行 `flutter doctor` 命令来进行验证,它会检查当前环境中是否存在任何缺失的部分,并给出相应的建议以解决问题。 #### 创建新项目 一旦所有的前置条件都满足,在 VSCode 内部就可以轻松地创建一个新的 Flutter 应用了。通过调用命令面板 (`Ctrl/Cmd + Shift + P`) 来发起 "Flutter: New Project" 操作,从而引导用户逐步完成项目的初始化过程[^4]。 #### 加载现有项目 如果打算加载一个现有的 Flutter 项目,则可以直接将其导入至 VSCode 工作区中。对于从 GitHub 获取的项目而言,先利用 Git 功能将仓库克隆下来;接着切换到源代码管理视图下点击“克隆存储库”,输入远程地址即可实现自动化拉取操作[^3]。 #### 构建与调试应用 当一切准备就绪后,便可以在模拟器或是真实硬件上测试所编写的应用程序了。借助于内置的支持功能,只需简单几步就能让应用跑起来: - **选择目标设备**:按 F5 或者点击左侧活动栏上的绿色播放按钮旁边的箭头来挑选想要部署的目标平台; - **编译并运行**:选定好设备以后再次按下 F5 键或直接点选那个大大的播放图标就会触发构建流程并将最终产物推送到指定位置上去运行。 #### 提升工作效率的小技巧 熟悉一些特定于 VSCode 的快捷方式有助于加速日常编码任务。比如,“快速修复”(Ctrl/Cmd + .)、“重构重命名变量名”(F2)以及“跳转定义处/返回历史记录”(F12 / Alt + ← →)等功能都能极大地方便开发者们的工作流优化[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值