Flutter消息提示插件vido_toast的使用

Flutter消息提示插件vido_toast的使用

安装 💻

要开始使用vido_toast,您必须在您的机器上安装Flutter SDK。

pubspec.yaml文件中添加vido_toast依赖项:

dependencies:
  vido_toast:

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

flutter packages get

持续集成 🤖

vido_toast自带了一个由Very Good Workflows支持的GitHub Actions工作流。但是,您可以根据需要添加自己的CI/CD解决方案。

默认情况下,每次拉取请求和推送时,CI都会格式化、静态检查和测试代码。这确保了代码的一致性和正确性。项目使用Very Good Analysis来进行严格的分析选项。覆盖率通过Very Good Workflows进行强制执行。

运行测试 🧪

对于首次使用的用户,安装very_good_cli

dart pub global activate very_good_cli

运行所有单元测试:

very_good test --coverage

查看生成的覆盖率报告可以使用lcov:

# 生成覆盖率报告
genhtml coverage/lcov.info -o coverage/

# 打开覆盖率报告
open coverage/index.html

使用示例

以下是一个简单的示例,演示如何在Flutter应用中使用vido_toast插件。

示例代码

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:vido_toast/vido_toast.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      themeMode: ThemeMode.system,
      theme: ThemeData.light().copyWith(
        shadowColor: ThemeData.light().shadowColor.withOpacity(0.1),
      ),
      darkTheme: ThemeData.dark(),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
      builder: (context, child) {
        if (child == null) return const Scaffold();
        return Toast.init(context, child);
      },
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      Toast.success('Toast show success!');
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            InkWell(
              onTap: () {
                Toast.center('Toast Center!');
              },
              child: const ToastCenterWidget(
                icon: Icon(
                  CupertinoIcons.checkmark_circle,
                  color: Color(0xff2cae88),
                  size: 32,
                ),
                child: Text(
                  'Toast Center!',
                  textAlign: TextAlign.center,
                ),
              ),
            ),
            const ToastWidget(
              icon: Icon(
                CupertinoIcons.info_circle,
                color: Color(0xff407DE8),
              ),
              child: Text(
                'Toast show!',
                textAlign: TextAlign.center,
              ),
            ),
            const ToastWidget(
              icon: Icon(
                CupertinoIcons.checkmark_circle,
                color: Color(0xff2cae88),
              ),
              child: Text(
                'Toast show success!',
                textAlign: TextAlign.center,
              ),
            ),
            const ToastWidget(
              icon: Icon(
                CupertinoIcons.exclamationmark_circle,
                color: Colors.red,
              ),
              child: Text(
                'Toast show error!',
                textAlign: TextAlign.center,
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

说明

  1. 导入库

    import 'package:vido_toast/vido_toast.dart';
    
  2. 初始化: 在MaterialAppbuilder中调用Toast.init以初始化Toast插件。

    builder: (context, child) {
      if (child == null) return const Scaffold();
      return Toast.init(context, child);
    },
    
  3. 显示不同的Toast

    • 成功消息:
      Toast.success('Toast show success!');
      
    • 中心对齐的消息:
      Toast.center('Toast Center!');
      
    • 其他类型的消息:
      ToastWidget(
        icon: Icon(
          CupertinoIcons.info_circle,
          color: Color(0xff407DE8),
        ),
        child: Text(
          'Toast show!',
          textAlign: TextAlign.center,
        ),
      )
      

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

1 回复

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


当然,以下是如何在Flutter项目中使用vido_toast插件来显示消息提示的详细步骤和代码案例。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加vido_toast依赖。

dependencies:
  flutter:
    sdk: flutter
  vido_toast: ^x.y.z  # 请替换为最新版本号

运行以下命令来获取依赖:

flutter pub get

2. 导入插件

在你需要使用消息提示的Dart文件中导入vido_toast插件。

import 'package:vido_toast/vido_toast.dart';

3. 初始化VidoToast

在你的主应用程序文件(通常是main.dart)中初始化VidoToast

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

void main() {
  // 初始化VidoToast
  VidoToast.init(context);
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('VidoToast Demo'),
        ),
        body: Center(
          child: MyHomePage(),
        ),
      ),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        ElevatedButton(
          onPressed: () {
            showSimpleToast(context);
          },
          child: Text('Show Simple Toast'),
        ),
        ElevatedButton(
          onPressed: () {
            showCustomToast(context);
          },
          child: Text('Show Custom Toast'),
        ),
      ],
    );
  }

  void showSimpleToast(BuildContext context) {
    VidoToast.makeText(context, "This is a simple toast!", duration: 2000).show();
  }

  void showCustomToast(BuildContext context) {
    VidoToast.makeText(
      context,
      "This is a custom toast!",
      duration: 3000,
      gravity: ToastGravity.BOTTOM,
      backgroundColor: Colors.blue,
      textColor: Colors.white,
      fontSize: 18.0,
      cornerRadius: 16.0,
      isCenter: true,
      margin: EdgeInsets.all(16.0),
      padding: EdgeInsets.all(16.0),
    ).show();
  }
}

4. 运行应用

现在你可以运行你的Flutter应用,点击按钮应该会显示消息提示。

flutter run

注意事项

  • 确保你已经按照步骤正确添加了依赖并导入了插件。
  • 你可以根据需要自定义Toast消息的样式和位置。
  • 插件的API可能会随着版本更新而发生变化,请参考最新的官方文档以获取最新的使用方法。

希望这个代码案例能帮助你更好地理解和使用vido_toast插件。

回到顶部