showStatus static method

void showStatus(
  1. String msg, {
  2. bool status = true,
  3. BuildContext? context,
  4. double? width,
  5. double? height,
  6. double radius = 10,
  7. Color? bgColor = Colors.white,
  8. Color? toastBgColor = const Color(0x77000000),
  9. Color? iconColorSuccess = const Color(0xFF3EC3CF),
  10. Color? iconColorError = Colors.redAccent,
  11. double? iconSize = 26,
  12. TextStyle? textStyle = const TextStyle(color: Colors.black),
  13. int? showTime,
  14. EdgeInsetsGeometry padding = const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
  15. EdgeInsetsGeometry margin = const EdgeInsets.symmetric(horizontal: 20, vertical: 10),
})

模板代码,外部可参考定制自己的各种状态样式

Implementation

static void showStatus(
    String msg, {
      bool status = true,
      BuildContext? context,
      double? width,
      double? height,
      double radius = 10,
      Color? bgColor = Colors.white,
      Color? toastBgColor = const Color(0x77000000),
      Color? iconColorSuccess = const Color(0xFF3EC3CF),
      Color? iconColorError = Colors.redAccent,
      double? iconSize = 26,
      TextStyle? textStyle = const TextStyle(color: Colors.black),
      int? showTime,
      EdgeInsetsGeometry padding = const EdgeInsets.symmetric(horizontal: 20,vertical: 10),
      EdgeInsetsGeometry margin = const EdgeInsets.symmetric(horizontal: 20,vertical: 10),
    }) {
  Toast.show(msg,
      context: context,
      buildOverlayStyle: (){
    return OverlayEntry(
        builder: (BuildContext context){
          Size size = MediaQuery.of(context).size;
          return SizedBox(
            width:size.width,
            height: size.height,
            child: Material(
              color: toastBgColor,
              child: Center(
                child: Container(
                  width: width,
                  height: height,
                  padding: padding,
                  margin: margin,
                  decoration: BoxDecoration(
                      color: bgColor,
                      borderRadius: BorderRadius.all(Radius.circular(radius))),
                  child:Row(
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      Icon(status?Icons.check_circle_outline:Icons.error_outline, size: iconSize, color: status?iconColorSuccess:iconColorError),
                      const SizedBox(width: 5,),
                      Flexible(child: Text(msg, style: textStyle))
                    ],
                  ),
                ),
              ),
            ),
          );
        });
  });
}