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

好点的开发网站的公司北京流感最新消息

好点的开发网站的公司,北京流感最新消息,wordpress 标签链接地址,营销官网背景#xff1a; 在使用GetX框架时#xff0c;同时使用了Get.snackbar提示框和Get.dialog加载框#xff0c;当这两个widget同时存在时#xff0c;Get.dialog加载框调用Get.back()无法正常关闭。 冲突解释#xff1a; 之所以会产生冲突#xff0c;是因为Get.snackbar在关…背景 在使用GetX框架时同时使用了Get.snackbar提示框和Get.dialog加载框当这两个widget同时存在时Get.dialog加载框调用Get.back()无法正常关闭。 冲突解释 之所以会产生冲突是因为Get.snackbar在关闭时会有一个动画这个动画的默认持续时间为1s这个动画的持续时间内Get.snackbar并没有真正意义上的关闭这时候我们调用Get.back()是无法关闭Get.dialog。 实现 创建一个统一的SnackBarManager去管理提示框。 import package:get/get.dart; import package:flutter/material.dart;class SnackBarManager {factory SnackBarManager() instance;static final SnackBarManager instance SnackBarManager._internal();SnackBarManager._internal();String _lastMessage ;int _lastDuration 0;int _lastTime 0;void showSnackBar(String title, String message, {Color? backgroundColor, Duration? duration}) {var currentTime DateTime.now().millisecondsSinceEpoch;// 相同消息持续时间内重复提交时返回if (currentTime - _lastTime _lastDuration * 1000 _lastMessage message) {return;}dismissSnackBar();Get.snackbar(title,message,backgroundColor: backgroundColor ?? Colors.black12,duration: duration ?? Duration(seconds: 2), // 提示框持续时间animationDuration: Duration(milliseconds: 0), // 过渡动画的时间这里设置为0是为了在使用Get.dialog时避免关闭冲突);_lastDuration duration?.inSeconds ?? 2;_lastTime DateTime.now().millisecondsSinceEpoch;_lastMessage message;}void dismissSnackBar() {Get.closeCurrentSnackbar();} }这是一个避免重复显示的显示的提示框可参考博客Flutter中Get.snackbar避免重复显示的实现 2. 创建一个LoadingDialog去实现加载框。 import package:flutter/material.dart; import package:get/get.dart; import package:get/get_core/src/get_main.dart;class LoadingDialog {static void show([String? msg]) {Get.dialog(PopScope(canPop: false,child: Center(child: Container(padding: EdgeInsets.symmetric(horizontal: 24, vertical: 16), // 减小内边距decoration: BoxDecoration(color: Colors.white,borderRadius: BorderRadius.circular(8),),child: Row(mainAxisSize: MainAxisSize.min, // 设置为最小宽度children: [SizedBox(width: 24, // 减小加载图标尺寸height: 24,child: CircularProgressIndicator(strokeWidth: 2.0, // 可以适当减小进度条宽度),),SizedBox(width: 12), // 减小间距Text(msg ?? 加载中...,style: TextStyle(fontSize: 14, color: Colors.black), // 可以适当调整字体大小),],),),),),barrierDismissible: false,);}static void hide() {if (Get.isDialogOpen ?? false) {// 先关闭 SnackbarGet.closeCurrentSnackbar();// 添加延迟以确保 Snackbar 已关闭Future.delayed(Duration(milliseconds: 100), () {if (Get.isDialogOpen ?? false) {Get.back();}});}} }在关闭加载框之前会先关闭提示框由于Get.snackbar动画时长已经设置为0此时延迟100ms后再关闭加载框是没有问题的。
http://www.hkea.cn/news/14570143/

相关文章:

  • 国土局网站建设经验python 网站开发实战
  • 网站用心html5 电商网站模板
  • 推广网站挣钱 优帮云菠菜推广
  • 网站建设的网站本地wordpress登录
  • 宿松网站建设公司辽宁省营商环境建设监督局网站
  • 查看网站 vps公司网站制作汇报会
  • 网站icp备案号查询岳阳网站建设免费咨询
  • 兰州网站建设哪家专业学校网站建设招标公告
  • 用服务器做网站wordpress文章代码插件
  • 简约网站建设公司英文网站排名优化
  • 南和县住房和建设局网站锡林郭勒盟建设厅官方网站
  • 中小企业建站可以怎么做网站制作行业越来越难做
  • 湖南智能网站建设费用惠安网站建设公司
  • jsp网站建设项目实战总结微网站制作超链接
  • 可信网站标志青岛网站建设商家
  • 做网站水印Wordpress页面无侧边栏
  • 网站优化外包找谁wordpress 51
  • 网站开发行业wordpress改变默认后台登录地址
  • 网站被镜像 站长学院公司网站费用计入什么科目
  • 南京企业网站搭建怎样在网做旅游网站
  • 双喜常州网站建设手机端网站外部链接如何去优化
  • 子域名的网站放到哪里去企业所得税税负率
  • 网站建设时间规划表博客网站排名大全
  • 泉州服装电商网站建设鞍山市建设局网站
  • 西安企业网站建设代理机构什么是wap
  • 怎么用ip访问vps网站专门做奢侈品的网站有哪些
  • 盐城建设企业网站响应式网站 像素
  • 网站开发视频代码网站工程师简历
  • 宜昌医院网站建设网站开发与维护工资
  • 网站设计公司 国际软件开发文档编写