Flutter消息提示插件toastification的使用

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

Flutter消息提示插件toastification的使用

Toastification 是一个Flutter插件,允许开发者轻松地在应用程序中显示吐司(Toast)通知。吐司通知是一种通常出现在屏幕上的弹出消息,在短时间内消失,常用于向用户显示信息、警告或确认。

安装

为了使用Toastification,你需要在pubspec.yaml文件中添加它:

dependencies:
  toastification: latest_version

然后运行 flutter pub get 来安装这个包。

使用方法

ToastificationWrapper

如果你想要在不使用context的情况下展示吐司消息,可以将你的AppWidget用ToastificationWrapper包裹起来:

return ToastificationWrapper(
  child: MaterialApp(),
);

这样之后你就可以使用toastification.showtoastification.showCustom方法而无需提供context

Show Method

使用show方法可以展示预定义样式的吐司消息。你可以使用ToastificationType枚举来选择类型,并使用ToastificationStyle枚举来选择样式。

示例代码

这是一个简单的例子,展示了如何创建一个具有标题和描述的吐司消息:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ToastificationWrapper(
      child: MaterialApp(
        home: Scaffold(
          appBar: AppBar(title: Text('Toastification Example')),
          body: Center(
            child: ElevatedButton(
              onPressed: () {
                toastification.show(
                  title: Text('Hello, world!'),
                  description: Text('This is a sample toast message.'),
                  type: ToastificationType.info,
                  style: ToastificationStyle.flat,
                  autoCloseDuration: Duration(seconds: 5),
                );
              },
              child: Text('Show Toast'),
            ),
          ),
        ),
      ),
    );
  }
}

这段代码将在点击按钮时显示一个包含“Hello, world!”文本的信息类型的吐司消息,持续时间为5秒。

ShowCustom Method

对于需要更多控制的情况,你可以使用showCustom()方法来自定义吐司消息的外观和行为。通过传递一个返回所需显示小部件的构建器函数,可以获得对吐司布局、样式和交互性的完全控制。

自定义动画

你可以自定义吐司通知的动画效果,通过提供一个动画持续时间和实现自己的动画构建器函数。

toastification.show(
  title: Text('Hello, world!'),
  animationDuration: Duration(milliseconds: 300),
  animationBuilder: (context, animation, alignment, child) {
    return RotationTransition(
      turns: animation,
      child: child,
    );
  },
);

全局/默认配置

全局配置使你能够更改Toastification在整个应用程序中的默认行为,或者是在特定页面上。这可以通过使用ToastificationConfigProvider widget来完成。

应用程序级别的全局配置

要为整个应用设置全局配置,可以在MaterialAppbuilder参数中使用ToastificationConfigProvider并提供一个ToastificationConfig实例。

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Toastification',
      builder: (context, child) {
        return ToastificationConfigProvider(
          config: const ToastificationConfig(
            margin: EdgeInsets.fromLTRB(0, 16, 0, 110),
            alignment: Alignment.center,
            itemWidth: 440,
            animationDuration: Duration(milliseconds: 500),
          ),
          child: child!,
        );
      },
    );
  }
}

页面级别的全局配置

要在特定页面应用全局配置,可以在该页面的小部件树上包裹ToastificationConfigProvider并提供一个ToastificationConfig实例。

class HomePage extends StatelessWidget {
  const HomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return const ToastificationConfigProvider(
      config: ToastificationConfig(
        margin: EdgeInsets.fromLTRB(0, 16, 0, 110),
        alignment: Alignment.center,
        itemWidth: 440,
        animationDuration: Duration(milliseconds: 500),
      ),
      child: Scaffold(
        body: HomeBody(),
      ),
    );
  }
}

管理通知

除了显示吐司消息外,Toastification还提供了管理现有通知的方法,如查找、删除等操作。

  • 查找通知项:通过ID找到一个通知。
  • 删除通知:从屏幕上移除特定的通知。
  • 按ID删除通知:根据给定的ID从屏幕上移除通知。

这些功能使得Toastification不仅限于简单的消息显示,还可以更灵活地管理和处理应用内的通知系统。

希望上述内容可以帮助您更好地理解和使用Toastification插件!如果您有任何问题或需要进一步的帮助,请随时提问。


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

1 回复

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


当然,以下是如何在Flutter中使用toastification插件来实现消息提示的示例代码。toastification是一个流行的Flutter插件,用于显示简单的消息提示(Toast)。首先,你需要确保已经在你的Flutter项目中添加了该插件。

1. 添加依赖

在你的pubspec.yaml文件中添加以下依赖:

dependencies:
  flutter:
    sdk: flutter
  toast: ^0.1.5  # 请注意,实际版本号可能会有所不同,请参考pub.dev上的最新版本

然后运行以下命令来安装依赖:

flutter pub get

2. 导入插件

在你的Dart文件中(例如main.dart),导入toast插件:

import 'package:toast/toast.dart';

3. 使用Toast显示消息

以下是一个简单的示例,展示如何在按钮点击时显示一个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 Toast Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Toast Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              onPressed: () {
                // 显示Toast消息
                Toast.show("Hello, this is a Toast message!", context,
                    duration: Toast.LENGTH_SHORT,
                    gravity: Toast.GRAVITY_CENTER);
              },
              child: Text('Show Toast'),
            ),
          ],
        ),
      ),
    );
  }
}

4. 运行应用

保存所有更改并运行你的Flutter应用:

flutter run

当你点击“Show Toast”按钮时,应该会看到一个消息提示(Toast)显示在屏幕中央。

额外选项

Toast插件提供了多种配置选项,例如设置Toast的持续时间、位置以及背景颜色等。你可以根据需求调整这些选项。例如:

Toast.show("Custom Toast with Gravity and Duration", context,
    duration: Toast.LENGTH_LONG,
    gravity: Toast.GRAVITY_BOTTOM,
    backgroundColor: Colors.red,
    textColor: Colors.white,
    fontSize: 16.0);

以上代码展示了如何自定义Toast的显示位置、持续时间、背景颜色和文字颜色等属性。

希望这能帮助你在Flutter项目中成功使用toastification插件!

回到顶部