import 'dart:async'; import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'my_dialog_controller.dart'; class MyDialog extends GetView { final String message; final int seconds; final Color? textColor; // 可选参数 MyDialog({ required this.message, required this.seconds, this.textColor, // 可选参数的赋值 }); @override Widget build(BuildContext context) { // 设置弹窗在2秒后自动关闭 Timer(Duration(seconds: seconds), () { if (Navigator.canPop(context)) { Navigator.of(context).pop(); } }); return Dialog( backgroundColor: Colors.transparent, // 使弹窗背景透明 elevation: 0, // 去除阴影 shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), ), child: ConstrainedBox( constraints: BoxConstraints( minWidth: 232, maxHeight: 400, minHeight: 47, maxWidth: 400, ), child: Opacity( opacity: 1, // 设置容器的透明度为80% child: Container( decoration: BoxDecoration( // color: Color(0xFF182B7C), color: Color(0xFFffebe9), border: Border.all( // color: Color(0xFFe60012), // 边框颜色 color: textColor ?? Color(0xFFe60012), width: 1, // 边框宽度 ), borderRadius: BorderRadius.circular(4), boxShadow: [ BoxShadow( color: Colors.black26, blurRadius: 10, offset: Offset(0, 4), ), ], ), child: Padding( padding: const EdgeInsets.all(4.0), child: SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.min, children: [ SizedBox(height: 8), Text( message, style: TextStyle( fontSize: 13, // color: Color(0xFFe60012), // 边框颜色 color: textColor ?? Color(0xFFe60012), ), textAlign: TextAlign.center, ), ], ), ), ), ), ), ), ); } }