toast_util.dart 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import 'package:clean/utils/expand.dart';
  2. import 'package:flutter/Material.dart';
  3. import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
  4. class ToastUtil {
  5. ToastUtil._();
  6. static void show(String? msg,
  7. {Duration? displayTime,
  8. SmartToastType? displayType = SmartToastType.normal,
  9. bool? addPostFrame}) {
  10. if (msg != null) {
  11. if (addPostFrame == true) {
  12. WidgetsBinding.instance.addPostFrameCallback((_) {
  13. SmartDialog.showToast("",
  14. displayType: displayType, displayTime: displayTime, builder: (_ ) => CustomToast(msg));
  15. });
  16. } else {
  17. SmartDialog.showToast("",
  18. displayType: displayType, displayTime: displayTime, builder: (_ ) => CustomToast(msg));
  19. }
  20. }
  21. }
  22. }
  23. class CustomToast extends StatelessWidget {
  24. const CustomToast(this.msg, {super.key});
  25. final String msg;
  26. @override
  27. Widget build(BuildContext context) {
  28. return Align(
  29. alignment: Alignment.bottomCenter,
  30. child: Container(
  31. margin: EdgeInsets.only(bottom: 30),
  32. padding: EdgeInsets.symmetric(horizontal: 20, vertical: 12),
  33. decoration: BoxDecoration(
  34. color: "#383A3E".color,
  35. borderRadius: BorderRadius.circular(10),
  36. ),
  37. child: Row(mainAxisSize: MainAxisSize.min, children: [
  38. Text(msg, style: TextStyle(color: Colors.white)),
  39. ]),
  40. ),
  41. );
  42. }
  43. }