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

网站建设排行公司网站运营需要多少钱

网站建设排行公司,网站运营需要多少钱,辽宁省建设工程信息网停用,动态网站 流程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.yidumall.com/news/85970.html

相关文章:

  • 上海松江区建设局官方网站北京seo结算
  • 网站推广真的好吗软文推广文案范文
  • 免费建站哪里靠谱长沙百家号seo
  • 网站改版要重新备案最新足球消息
  • 天津做胎儿鉴定网站网站建设开发
  • 住房与城乡建设部网站EPC泰州百度seo公司
  • 济南网站怎么做seo今日头条搜索优化
  • 云阳县城乡建设委员会门户网站网络运营推广是做什么的
  • 东营市住房和建设委员会网站网站自动推广软件免费
  • 网站建设一百互联百度推广渠道商
  • 响应式网站概况新闻营销
  • 山河集团建设有限公司网站今天最新新闻国内大事件
  • 舆情系统的作用seo的工作内容
  • 本地wordpress站点上传文件久久seo综合查询
  • 朝阳市网站建设系统开发
  • 做哪方面的网站好呢百度一下电脑版
  • 软件开发资源网站seo排名优化方式
  • 长沙的企业网站建设移动广告联盟
  • 网站导航插件模板免费网站建设
  • 佛山做外贸网站代理商seo怎样
  • No物流网站建设杭州专业seo
  • 有什么做图片赚钱的网站亚马逊跨境电商
  • 怎么自己做电影网站广东省人大常委会
  • 固始做网站如何介绍自己设计的网页
  • 免费简约ppt模板广州网站制作实力乐云seo
  • 网站素材图标河南今日重大新闻
  • 做网站赚钱的案例营销网站建设免费
  • 企业品牌网站营销关键词优化包年推广
  • 制作网站的公司凡科建站教程
  • 网站 如何做 同时在线快速优化seo