-
在pubspec.yaml中引入依赖框架。
#GetX依赖注解
get: ^4.6.5 -
创建一个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();
}
} -
在任意想要的地方,直接调用即可。
SnackBarManager.instance.showSnackBar("蓝牙未开启", "请打开蓝牙");
-
效果展示

Flutter中Get.snackbar避免重复显示的实现
weixin_411191842025-01-14 13:37
相关推荐
恋猫de小郭7 小时前
Android CLI 支持 AI Agent 通过 Device Streaming 调试云真机m0_738185821 天前
Flutter 鸿蒙化实战:flutter_scankit 适配 OpenHarmony,华为 ScanKit 扫码事圆则缓1 天前
Flutter 开发鸿蒙实战:从 OpenHarmony 适配版到 HAP 构建与插件接入天空之城--1 天前
Android一周动态:Android 18首次官宣、Compose Material3 1.4转正(5趋势+5资讯)恋猫de小郭1 天前
Meta 分享怎么用 AI 迁移 Compose 项目不烧心EatFan1 天前
Flutter 鸿蒙适配实践 2026:从环境搭建、混合渲染到 OpenTelemetry 性能基建m0_738185821 天前
Flutter 鸿蒙化实战:flutter_secure_storage 适配 OpenHarmony,敏感数据安全存储传奇开心果编程2 天前
【现代声明式UI学与练】第1课 从命令式UI到声明式UIm0_738185822 天前
Flutter 鸿蒙化实战:flutter_nfc_kit 适配 OpenHarmony,NFC 读写一步到位恋猫de小郭2 天前
KMP 又改了编译流程, Separate Compilation 禁止了 `commonMain` 的依赖穿透