Flutter 返回按钮的监听
物理按钮和返回按钮的监听
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 返回按钮的监听相关推荐
- uniapp微信小程序左上角返回按钮的监听
项目场景: uni-app 开发微信小程序,界面中点击左上角的返回按钮或者是系统自带的虚拟返回操作,返回前监听用户是否在页面内进行了相应操作,如果有则进行提示(提示用户是否确定要返回),如果没有则直接 ...
- android自定义adapter(实现对按钮的监听)
我们一般需要自定义adapter 这里就需要继承BaseAdapter adapter在MVC开发模式中,是控制层 baseAdapter 继承这个方法必须重写 四个方法 1. getcont ...
- JComboBox 的下拉按钮添加监听
JComboBox 的下拉按钮添加监听 1.问题描述 2.需求分析 3.代码示例 4.结果演示 系统:Win10 JDK:1.8.0_333 IDEA:2020.3.4 1.问题描述 在使用一个 JC ...
- java按钮点击事件监听_按钮事件监听
[java]代码库/** * 功能:按钮事件监听 */ package com.test; import java.awt.*; import javax.swing.*; import java.a ...
- 小程序监听android返回键,如何监听小程序返回按钮事件?
写在前面 为了能及时的将自己踩到的前端坑(包括ionic,angular,react,ReactNative,小程序,APICloud)分享给大家,以后会逐渐将文章转移到微信公众号:前端e家(fron ...
- php 微信监听返回键,JavaScript_JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法,在实际的应用中,我们常常需 - phpStudy...
JS监听微信.支付宝等移动app及浏览器的返回.后退.上一页按钮的事件方法 在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一 ...
- 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片
以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...
- IOS微信浏览器返回事件popstate监听
问题描述: 通过监听popstate事件,来判断是否点击返回按钮,比如从A页面跳转到B页面(监听popstate),然后再跳转到C页面,点击返回的按钮,测试成功,包括安卓版,但是问题来了,IOS版的微 ...
- html js按钮事件监听,JS监听事件
对象 - JS监听事件 ¶ 作者:KK 发表日期:2016.2.21 在准备讲解后面的window对象之前,这里将话题转回来事件这里 平时咱们在一个元素里加个onclick属性,属性值写JS代码,这样 ...
最新文章
- js canvas游戏初级demo-上下左右移动
- 分离硬件和代码、稳定 API,PyTorch Lightning 1.0.0 版本正式发布
- Tensorflow实现神经网络及实现多层神经网络进行时装分类
- poj3686(最小权值完美匹配)
- 【咸鱼教程】震屏效果
- Paxos 实现日志复制同步(Multi-Paxos)
- broker可以禁用吗 time_Win8.1系统Runtime Broker是什么进程?可以禁用吗?
- python set函数原理,Python之set详解
- 面试总结之人工智能AI(Artificial Intelligence)/ 机器学习(Machine Learning)
- MySQL建表语句解析表名
- 移动APP开发环境搭建(新手)
- 【项目介绍】单发动机驱动的多旋翼飞行器及其控制系统
- 解决:Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools“
- Your GPU Compute Capability计算能力
- 初学MSP430SPI通信
- 电脑上安装的matlab软件打不开怎么办,电脑软件打不开没反应怎么办?
- JSP 页面缓存以及清除缓存
- 5G消息、聊天机器人和小程序
- 序言页码(纯思维题)
- iOS开发者续费流程