当前位置: 首页 > news >正文

用dw做的网页怎么连到网站上html网页制作企业类网站

用dw做的网页怎么连到网站上,html网页制作企业类网站,网赌赢了钱被网站黑了需要怎么做,做化工回收的 做那个网站flutter开发实战-当前界面无操作60s返回主页实现 当前界面无操作60s返回主页实现,主要是通过Timer来控制,当监听界面是否有pointerDown时候,如果超过60s仍没有操作,则返回主页。 一、Listener Listener是用来用于调用回调以响应…

flutter开发实战-当前界面无操作60s返回主页实现

当前界面无操作60s返回主页实现,主要是通过Timer来控制,当监听界面是否有pointerDown时候,如果超过60s仍没有操作,则返回主页。

一、Listener

Listener是用来用于调用回调以响应常见的指针事件
Listener的属性如下

const Listener({super.key,this.onPointerDown,this.onPointerMove,this.onPointerUp,this.onPointerHover,this.onPointerCancel,this.onPointerPanZoomStart,this.onPointerPanZoomUpdate,this.onPointerPanZoomEnd,this.onPointerSignal,this.behavior = HitTestBehavior.deferToChild,super.child,}) : assert(behavior != null);

可以看出,我们可以通过onPointerDown来判断用户是否触摸到屏幕。

二、新增ListenerTouchTimerWrapper

为Widget添加Timer控制,当触摸了屏幕,取消Timer,重新倒计时。倒计时结束之后,可以执行callback。

void updateTouch() {_timer?.cancel();if (timeoutCallback != null) {_timer = Timer(Duration(milliseconds: milliseconds), timeoutCallback!);}}

完整代码如下

class ListenerTouchTimer {final int milliseconds;Timer? _timer;VoidCallback? timeoutCallback;ListenerTouchTimer({required this.milliseconds,});void startListener({required VoidCallback timeoutCallback}) {this.timeoutCallback = timeoutCallback;updateTouch();}void updateTouch() {_timer?.cancel();if (timeoutCallback != null) {_timer = Timer(Duration(milliseconds: milliseconds), timeoutCallback!);}}void dispose() {_timer?.cancel();}
}

为widget创建Wrapper

/// 无操作回主页
class ListenerTouchTimerWrapper extends StatelessWidget {const ListenerTouchTimerWrapper({super.key,required this.child,this.listenerTouchTimer,});final Widget child;final ListenerTouchTimer? listenerTouchTimer;@overrideWidget build(BuildContext context) {return Listener(onPointerDown: (event) {if (listenerTouchTimer != null) {listenerTouchTimer!.updateTouch();}},child: child,);}
}

三、使用ListenerTouchTimerWrapper

在界面的外层使用ListenerTouchTimerWrapper进行包裹一下。

class DemoPage extends StatefulWidget {const DemoPage({Key? key,required this.arguments,}) : super(key: key);final Map<String, dynamic> arguments;@overrideState<DemoPage> createState() => _DemoPageState();
}class _DemoPageState extends State<DemoPage> {/// 超出60秒自动返回首页ListenerTouchTimer? listenerTouchTimer;@overridevoid initState() {// TODO: implement initStategetAppConfigFromNative();listenerTouchTimer = ListenerTouchTimer(milliseconds: 6000);super.initState();loggerInfo("ChangeClothe initState");if (listenerTouchTimer != null) {listenerTouchTimer!.startListener(timeoutCallback: () {print("_ChangeClotheWaitPageState 超出60秒自动返回首页");if (mounted ) {navigatorBack();}});}}@overridevoid dispose() {// TODO: implement disposeloggerInfo("ChangeClothe dispose");listenerTouchTimer?.dispose();super.dispose();}@overrideWidget build(BuildContext context) {return ListenerTouchTimerWrapper(listenerTouchTimer: listenerTouchTimer,child: Scaffold(body: Container(),),);}void navigatorBack() {NavigatorPageRouter.pop();}
}

四、小结

flutter开发实战-当前界面无操作60s返回主页实现

学习记录,每天不停进步。

http://www.yayakq.cn/news/23/

相关文章:

  • 电子商务网站建设如何策划与实施学校网站开发
  • 做的网站太大网站建设基本步骤顺序
  • 制作企业网站建设网站的安全性
  • 绍兴企业自助建站朋友圈广告30元 1000次
  • 网站建设中手机版怎么看一个网站用什么做的
  • 安徽中色十二冶金建设有限公司网站网站服务器租用协议
  • 某企业网站的设计与实现杭州市网站制作
  • 北京建设工程质量总站网站怎样撰写企业网站建设方案
  • 国家住房城乡建设厅网站安徽建筑工程网站
  • 基于html5的旅游网站的设计与实现温州大型网站建设
  • 建网站手机软件游戏推广员判几年
  • 网站系统分析报告网站传送门怎么做
  • 鄂州网站设计公司wordpress点击文章在新页面打开
  • 前端网站制作教程茂名网站制作维护
  • 聊城做网站嘉兴官网
  • 网站制作公司 深圳广州建设工程造价管理站
  • 霸州做网站的公众号运营策划
  • 淘宝客如何新建网站专注网站基础优化
  • 做下载网站用什么程序好网站建设代码实例
  • 营销型手机网站制作网站建设公司北京亦庄
  • 广州十大高端网站建设公司制作网页素材图片