Flutter消息提示插件toast的使用

发布于 1周前 作者 zlyuanteng 来自 Flutter

Flutter消息提示插件Toast的使用

简介

Toast 是一个用于在Flutter应用中显示短暂消息提示的插件。它允许开发者方便地在屏幕上显示自定义的消息,支持不同的持续时间和位置。

插件地址

pub.dev/packages/toast

如何使用

添加依赖

首先,在您的 pubspec.yaml 文件中添加以下依赖项:

dependencies:
  toast: ^0.2.9

然后运行 flutter pub get 来安装插件。

导入包

在需要使用 Toast 的文件中导入该包:

import 'package:toast/toast.dart';

初始化上下文

确保在调用任何 Toast 方法之前初始化上下文:

ToastContext().init(context);

显示Toast消息

使用 Toast.show() 方法来显示一条消息:

Toast.show("Toast plugin app", duration: Toast.lengthShort, gravity: Toast.bottom);

参数说明

属性 描述
msg String(必需)
duration 持续时间:Toast.lengthShortToast.lengthLong(可选)
gravity 位置:Toast.topToast.center(Web不支持)、Toast.bottom
textStyle 文字样式(默认字体大小15,颜色白色)
backgroundColor 背景颜色(默认颜色为半透明黑色:Color(0xAA000000))
backgroundRadius 圆角半径(默认值为16)
border 边框(可选)

示例代码

下面是一个完整的示例项目,展示了如何使用 Toast 插件的不同功能:

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, this.title}) : super(key: key);

  final String? title;

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Toast plugin example app'),
      ),
      body: Center(
        child: Column(
          children: <Widget>[
            Padding(
              padding: const EdgeInsets.all(10.0),
              child: ElevatedButton(
                child: Text('Show Short Toast'),
                onPressed: () => showToast("Show Short Toast"),
              ),
            ),
            Padding(
              padding: const EdgeInsets.all(10.0),
              child: ElevatedButton(
                child: Text('Show Long Toast'),
                onPressed: () => showToast("Show Long Toast", duration: Toast.lengthLong),
              ),
            ),
            Padding(
              padding: const EdgeInsets.all(10.0),
              child: ElevatedButton(
                child: Text('Show Bottom Toast'),
                onPressed: () => showToast("Show Bottom Toast", gravity: Toast.bottom),
              ),
            ),
            Padding(
              padding: const EdgeInsets.all(10.0),
              child: ElevatedButton(
                child: Text('Show Center Toast'),
                onPressed: () => showToast("Show Center Toast", gravity: Toast.center),
              ),
            ),
            Padding(
              padding: const EdgeInsets.all(10.0),
              child: ElevatedButton(
                child: Text('Show Top Toast'),
                onPressed: () => showToast(
                  """所爱隔山海,山海皆可平。可是你不爱我啊,隔了座火焰山还拿不到芭蕉扇。我奋不顾身穿山越岭到了你身旁,你也只会来一句“卧槽你好666啊”""",
                  gravity: Toast.top,
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }

  void showToast(String msg, {int? duration, int? gravity}) {
    Toast.show(msg, context, duration: duration, gravity: gravity);
  }
}

这个示例项目包括了不同类型的 Toast 消息,您可以根据自己的需求进行调整和扩展。


更多关于Flutter消息提示插件toast的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter消息提示插件toast的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中,toast 消息提示通常不是框架内置的功能,但你可以通过第三方插件来实现。一个流行的插件是 fluttertoast。以下是如何在Flutter项目中使用 fluttertoast 插件来显示Toast消息的示例代码。

步骤 1: 添加依赖

首先,在你的 pubspec.yaml 文件中添加 fluttertoast 依赖:

dependencies:
  flutter:
    sdk: flutter
  fluttertoast: ^8.0.8  # 请检查最新版本号

然后运行 flutter pub get 来获取依赖。

步骤 2: 导入插件

在你的 Dart 文件中导入 fluttertoast 插件:

import 'package:fluttertoast/fluttertoast.dart';

步骤 3: 初始化插件(可选)

对于某些插件,你可能需要在应用启动时初始化它们。对于 fluttertoast,这通常不是必需的,但你可以根据需要进行配置。

步骤 4: 使用 Toast 消息

现在你可以在你的代码中使用 Fluttertoast.showToast 方法来显示Toast消息。例如:

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter Toast Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              // 显示Toast消息
              Fluttertoast.showToast(
                msg: "Hello, this is a Toast message!",
                toastLength: Toast.LENGTH_SHORT,
                gravity: ToastGravity.BOTTOM,
                timeInSecForIosWeb: 1,
                backgroundColor: Colors.black,
                textColor: Colors.white,
                fontSize: 16.0
              );
            },
            child: Text('Show Toast'),
          ),
        ),
      ),
    );
  }
}

参数说明

  • msg: 要显示的文本消息。
  • toastLength: Toast消息显示的时间长度,可以是 Toast.LENGTH_SHORTToast.LENGTH_LONG
  • gravity: Toast消息显示的位置,可以是 ToastGravity.BOTTOM, ToastGravity.CENTER, ToastGravity.TOP 等。
  • timeInSecForIosWeb: 在iOS和Web平台上显示Toast消息的时间(秒)。
  • backgroundColor: Toast消息的背景颜色。
  • textColor: Toast消息的文本颜色。
  • fontSize: Toast消息的字体大小。

通过上述步骤,你可以在Flutter应用中轻松地使用Toast消息提示。如果你需要更多的自定义选项或高级功能,请参考 fluttertoast 插件的官方文档。

回到顶部