# 自定义toast组件

toast组件是一个轻提示组件,经常应用于消息提醒、通知。

本章主要是封装一个通用的toast组件,以便后续修改了基础组件之后,也可以很方便的进行替换与升级(平时,使用第三方库的时候,大家也要有这样的好习惯)。

# 安装flutter_toast

dependencies:
  fluttertoast: ^8.0.8

使用flutter pub get安装依赖。

# 代码示例

Fluttertoast.showToast(
  msg: "This is Center Short Toast",
  toastLength: Toast.LENGTH_SHORT,
  gravity: ToastGravity.CENTER,
  timeInSecForIosWeb: 1,
  backgroundColor: Colors.red,
  textColor: Colors.white,
  fontSize: 16.0
);

# 组件封装

import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';

class CommonToast {
  static showToast(String msg, {
    Toast? toastLength =  Toast.LENGTH_SHORT,
    ToastGravity? gravity = ToastGravity.CENTER,
    int timeInSecForIosWeb = 1,
    Color? backgroundColor = const Color.fromRGBO(0, 0, 0, 0.75),
    Color? textColor = Colors.white,
    double? fontSize = 14.0,
  }) {
    Fluttertoast.showToast(
      msg: msg,
      toastLength: toastLength,
      gravity: gravity,
      timeInSecForIosWeb: timeInSecForIosWeb,
      backgroundColor: backgroundColor,
      textColor: textColor,
      fontSize: fontSize,
    );
  }
}

知识点:

  • static为静态方法,不需要实例化就能使用;
  • ?代表着可选参数;
  • =可以设置初始的参数