物理按钮和返回按钮的监听

Flutter 返回按钮的监听是通过 WillPopScope来实现的

class BackDemoState extends State<BackDemoWidget> {@overrideWidget build(BuildContext context) {return WillPopScope(onWillPop: _onWillPop,child: Scaffold(appBar: AppBar(title: const Text("返回键监听"),leading: IconButton(icon: const Icon(Icons.arrow_back),onPressed: (){SmartDialog.showToast("返回");if (Navigator.canPop(context)) {Navigator.pop(context);} else {SystemNavigator.pop();}},),),));}Future<bool> _onWillPop() {SmartDialog.showToast("返回");if (Navigator.canPop(context)) {Navigator.pop(context);} else {SystemNavigator.pop();}return Future.value(false);}
}

WebView的返回监听

 @overrideWidget build(BuildContext context) {return FutureBuilder<WebViewController>(future: _controller.future,builder: (context, snapshot) {return WillPopScope(onWillPop: () async {if (snapshot.hasData) {final bool canGoBack = await snapshot.data!.canGoBack();if (canGoBack) {// 网页可以返回时,优先返回上一页await snapshot.data!.goBack();return Future.value(false);}}return Future.value(true);},child: Scaffold(appBar: AppBar(title: Text(widget.title),),body: Stack(children: [WebView(initialUrl: "https://www.baidu.com",javascriptMode: JavascriptMode.unrestricted,allowsInlineMediaPlayback: true,onWebViewCreated: (WebViewController webViewController) {_controller.complete(webViewController);},onProgress: (int progress) {debugPrint('WebView is loading (progress : $progress%)');setState(() {_progressValue = progress;});},),if (_progressValue != 100) LinearProgressIndicator(value: _progressValue / 100,backgroundColor: Colors.transparent,minHeight: 2,) else Gaps.empty,],),),);});}

Flutter 返回按钮的监听相关推荐

  1. uniapp微信小程序左上角返回按钮的监听

    项目场景: uni-app 开发微信小程序,界面中点击左上角的返回按钮或者是系统自带的虚拟返回操作,返回前监听用户是否在页面内进行了相应操作,如果有则进行提示(提示用户是否确定要返回),如果没有则直接 ...

  2. android自定义adapter(实现对按钮的监听)

    我们一般需要自定义adapter   这里就需要继承BaseAdapter adapter在MVC开发模式中,是控制层 baseAdapter  继承这个方法必须重写 四个方法 1.  getcont ...

  3. JComboBox 的下拉按钮添加监听

    JComboBox 的下拉按钮添加监听 1.问题描述 2.需求分析 3.代码示例 4.结果演示 系统:Win10 JDK:1.8.0_333 IDEA:2020.3.4 1.问题描述 在使用一个 JC ...

  4. java按钮点击事件监听_按钮事件监听

    [java]代码库/** * 功能:按钮事件监听 */ package com.test; import java.awt.*; import javax.swing.*; import java.a ...

  5. 小程序监听android返回键,如何监听小程序返回按钮事件?

    写在前面 为了能及时的将自己踩到的前端坑(包括ionic,angular,react,ReactNative,小程序,APICloud)分享给大家,以后会逐渐将文章转移到微信公众号:前端e家(fron ...

  6. php 微信监听返回键,JavaScript_JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法,在实际的应用中,我们常常需 - phpStudy...

    JS监听微信.支付宝等移动app及浏览器的返回.后退.上一页按钮的事件方法 在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一 ...

  7. 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片

    以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...

  8. IOS微信浏览器返回事件popstate监听

    问题描述: 通过监听popstate事件,来判断是否点击返回按钮,比如从A页面跳转到B页面(监听popstate),然后再跳转到C页面,点击返回的按钮,测试成功,包括安卓版,但是问题来了,IOS版的微 ...

  9. html js按钮事件监听,JS监听事件

    对象 - JS监听事件 ¶ 作者:KK 发表日期:2016.2.21 在准备讲解后面的window对象之前,这里将话题转回来事件这里 平时咱们在一个元素里加个onclick属性,属性值写JS代码,这样 ...

最新文章

  1. js canvas游戏初级demo-上下左右移动
  2. 分离硬件和代码、稳定 API,PyTorch Lightning 1.0.0 版本正式发布
  3. Tensorflow实现神经网络及实现多层神经网络进行时装分类
  4. poj3686(最小权值完美匹配)
  5. 【咸鱼教程】震屏效果
  6. Paxos 实现日志复制同步(Multi-Paxos)
  7. broker可以禁用吗 time_Win8.1系统Runtime Broker是什么进程?可以禁用吗?
  8. python set函数原理,Python之set详解
  9. 面试总结之人工智能AI(Artificial Intelligence)/ 机器学习(Machine Learning)
  10. MySQL建表语句解析表名
  11. 移动APP开发环境搭建(新手)
  12. 【项目介绍】单发动机驱动的多旋翼飞行器及其控制系统
  13. 解决:Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools“
  14. Your GPU Compute Capability计算能力
  15. 初学MSP430SPI通信
  16. 电脑上安装的matlab软件打不开怎么办,电脑软件打不开没反应怎么办?
  17. JSP 页面缓存以及清除缓存
  18. 5G消息、聊天机器人和小程序
  19. 序言页码(纯思维题)
  20. iOS开发者续费流程

热门文章

  1. 阿里发布免费的全新可变字体;Stability AI CEO:5年内,人类程序员将不复存在;Perl 5.38发布|极客头条
  2. MySQL高级篇——存储引擎和索引
  3. 静态资源使用时间戳控制浏览器缓存
  4. Java-面向对象编程
  5. Springboot漫画网站j846u计算机毕业设计-课程设计-期末作业-毕设程序代做
  6. 看完此文,妈妈还会担心你docker入不了门?
  7. 在线考试中有关保存试卷的问题
  8. Python Challenge 第2关
  9. 【docker】在容器内部看到ppid为0代表什么
  10. mysql5.7.39-windwos安全策略配置