福州网站建设技术支持,网站备案可以变更吗,wordpress 后端,夏县网站建设文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了下拉刷新组件相关的内容#xff0c;本章回中将介绍
WillPopScope组件.闲话休提#xff0c;让我们一起Talk Flutter吧。 概念介绍
我们在本章回中介绍的WillPopScope组件是一种事件拦截类组件#xff0c;它没有具… 文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了下拉刷新组件相关的内容本章回中将介绍
WillPopScope组件.闲话休提让我们一起Talk Flutter吧。 概念介绍
我们在本章回中介绍的WillPopScope组件是一种事件拦截类组件它没有具体的物理形态也就是说我们在页面中看不到它。该组件主要用来拦截返回按钮发出的事件。本章回中将详细介绍它的使用方法。
使用方法
和其它组件一样WillPopScope组件提供了相关的属性来控制自己下面是该组件的属性
onWillPop属性该属性是方法类型点击返回按钮时回调此方法child属性用来存放其它组件它会拦截该属性所指页面中的返回按钮事件
该组件只有这两个属性不过它们都是必选属性。我们重点介绍一下第一个属性该属性对应的方法会返回一个bool值返回true表示拦截返回按钮发出的事件此时不会返回上一级页面。反之表示不拦截返回按钮发出的事件可以正常返回上一级页面。我们可以依据业务的需求来决定是否拦截返回按钮发出的事件。接下来我们将通过具体的代码来演示该组件的使用方法。
示例代码 Futurebool _backIconOnPress() async {///两次点击间隔小于3s时才退出当前页面:return true;if(_lastPressedTime null|| DateTime.now().difference(_lastPressedTime!) const Duration(seconds: 3)) {_lastPressedTime DateTime.now();debugPrint(false);return Future.value(false);}else {debugPrint(true);return Future.value(true);}}overrideWidget build(BuildContext context) {return WillPopScope(onWillPop: _backIconOnPress,child: Scaffold(appBar: AppBar(title: const Text(Example of WillPopScope Widget),backgroundColor: Colors.purpleAccent,),body: const Center(child: Text(连续两次点击小于3s时才能退出页面),),),);}在上面的示例代码中WillPopScope组件封装了Scaffold组件因此它会拦截Scaffold页面中返回按钮发出的事件。
我们把该组件onWillPop属性对应的方法封装为独立的方法,这个从代码中也可以看到该方法中的业务逻辑是:连续两次点击返回按钮小于3s时才能退出页面。这个逻辑参考了wendu共享的《Flutter实战》大家可以依据自己的业务逻辑来拦截页面中返回按钮发出的事件。
我在这里就不演示程序的运行结果了建议大家自己动手去实践。
看官们与WillPopScope组件相关的内容就介绍到这里欢迎大家在评论区交流与讨论!