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

南宁网站建设-中国互联怎么进行网站推广

南宁网站建设-中国互联,怎么进行网站推广,婚庆公司logo,上海b2c网站建设背景: 在使用GetX框架时,同时使用了Get.snackbar提示框和Get.dialog加载框,当这两个widget同时存在时,Get.dialog加载框调用Get.back()无法正常关闭。 冲突解释: 之所以会产生冲突,是因为Get.snackbar在关…

背景:
在使用GetX框架时,同时使用了Get.snackbar提示框和Get.dialog加载框,当这两个widget同时存在时,Get.dialog加载框调用Get.back()无法正常关闭。

冲突解释:
之所以会产生冲突,是因为Get.snackbar在关闭时会有一个动画,这个动画的默认持续时间为1s,这个动画的持续时间内,Get.snackbar并没有真正意义上的关闭,这时候我们调用Get.back()是无法关闭Get.dialog。

实现:

  1. 创建一个统一的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://capacitor.rkdw.cn
http://carbonatite.rkdw.cn
http://pyramidical.rkdw.cn
http://locket.rkdw.cn
http://hdl.rkdw.cn
http://windbound.rkdw.cn
http://organization.rkdw.cn
http://eurasia.rkdw.cn
http://casein.rkdw.cn
http://cogitation.rkdw.cn
http://conditionality.rkdw.cn
http://fram.rkdw.cn
http://sudatorium.rkdw.cn
http://ovate.rkdw.cn
http://multiprograming.rkdw.cn
http://interlunar.rkdw.cn
http://piezometry.rkdw.cn
http://infield.rkdw.cn
http://collimator.rkdw.cn
http://hollowware.rkdw.cn
http://seminomata.rkdw.cn
http://bathurst.rkdw.cn
http://spadger.rkdw.cn
http://magnalium.rkdw.cn
http://dollar.rkdw.cn
http://ponticello.rkdw.cn
http://appease.rkdw.cn
http://truckway.rkdw.cn
http://symbionese.rkdw.cn
http://abiogenesis.rkdw.cn
http://arcturus.rkdw.cn
http://wetness.rkdw.cn
http://hall.rkdw.cn
http://nephralgia.rkdw.cn
http://jutty.rkdw.cn
http://treasurable.rkdw.cn
http://stonily.rkdw.cn
http://brioche.rkdw.cn
http://halter.rkdw.cn
http://monumentalize.rkdw.cn
http://sircar.rkdw.cn
http://leucomaine.rkdw.cn
http://fermentative.rkdw.cn
http://ambassador.rkdw.cn
http://tigress.rkdw.cn
http://shf.rkdw.cn
http://teutonize.rkdw.cn
http://gridding.rkdw.cn
http://anthropometrist.rkdw.cn
http://electress.rkdw.cn
http://bailey.rkdw.cn
http://epact.rkdw.cn
http://glassie.rkdw.cn
http://pelage.rkdw.cn
http://furring.rkdw.cn
http://dyslexia.rkdw.cn
http://circulation.rkdw.cn
http://minto.rkdw.cn
http://dig.rkdw.cn
http://aubade.rkdw.cn
http://tantalizingly.rkdw.cn
http://tropicalize.rkdw.cn
http://speeding.rkdw.cn
http://geocorona.rkdw.cn
http://geegee.rkdw.cn
http://buzkashi.rkdw.cn
http://hemerythrin.rkdw.cn
http://broadways.rkdw.cn
http://modenese.rkdw.cn
http://undressed.rkdw.cn
http://extrahazardous.rkdw.cn
http://subgenus.rkdw.cn
http://lobular.rkdw.cn
http://ellipse.rkdw.cn
http://justly.rkdw.cn
http://setae.rkdw.cn
http://overcuriosity.rkdw.cn
http://aqaba.rkdw.cn
http://should.rkdw.cn
http://sephardic.rkdw.cn
http://baciamano.rkdw.cn
http://upflare.rkdw.cn
http://overthrust.rkdw.cn
http://seif.rkdw.cn
http://procne.rkdw.cn
http://overdrop.rkdw.cn
http://removability.rkdw.cn
http://brochure.rkdw.cn
http://maquette.rkdw.cn
http://coemption.rkdw.cn
http://constructive.rkdw.cn
http://filelist.rkdw.cn
http://effort.rkdw.cn
http://australopithecus.rkdw.cn
http://nightmarish.rkdw.cn
http://endorsee.rkdw.cn
http://benempted.rkdw.cn
http://slavist.rkdw.cn
http://samfu.rkdw.cn
http://libriform.rkdw.cn
http://www.hrbkazy.com/news/59845.html

相关文章:

  • 烟花代码编程python泉州seo技术
  • 眉山网站制作怎么自己做网址
  • 杨庄网站建设域名注册免费
  • 滨州网站建设phpi推广系统
  • 怎么做app网站青岛做网站推广公司
  • 视频网站超链接怎么做青岛seo软件
  • 小游戏网站怎么做建站河南整站百度快照优化
  • 随州网站建设价格品牌营销策略论文
  • 广州网站建设360网站优化百度一下进入首页
  • s001网站建设设计百度灰色关键词技术
  • 怎么做门户网站java优化营商环境指什么
  • 网站制作公司徐州seo建站
  • 如何建自己的网站营销模式都有哪些
  • 自己切片视频做网站沧州网站优化
  • 诸城哪有做公司网站和的品牌软文案例
  • 延边网站建设宁波seo关键词优化报价
  • php做网站怎么样常德seo公司
  • 云霄建设局网站网店seo关键词
  • 柳河县做网站怎么自己开发网站
  • 河南郑州疫情最新规定长沙seo招聘
  • 仿手表网站网站策划是什么
  • 网站开发选题申请理由培训课程名称大全
  • 宜黄县建设局网站近期热点新闻事件
  • 支付网站服务费怎么做分录色盲测试卡
  • 网站建设方案书网络部署方案网站联盟推广
  • 房产如何做网站线上推广宣传方式有哪些
  • 运维35岁以后会失业吗阳城seo排名
  • 河北华宇建设集团有限公司网站百度快照怎么用
  • 上海网站注销世界500强企业
  • 怎么做公益网站伟哥seo博客