Flutter轻量级提示插件just_toast的使用

Flutter轻量级提示插件just_toast的使用

Just Toast

这是为Flutter设计的轻量级提示插件!

使用

基本用法

showToast(context: context, text: 'toast message');

自定义提示

showToast(
  context: context,
  text: 'Custom Toast message',
  duration: const Duration(milliseconds: 1000), // 持续时间
  alignment: Alignment.center, // 对齐方式
  textStyle: const TextStyle(fontSize: 20, color: Colors.amber), // 文字样式
  color: Colors.purple, // 背景颜色
);

完整示例Demo

下面是完整的示例代码:

import 'package:flutter/material.dart';
import 'package:just_toast/toast/show_toast.dart'; // 导入just_toast包

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

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

  // 这个小部件是你的应用的根
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'JUST TOAST', // 应用名称
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const ExamplePage(title: 'JUST TOAST'), // 主页
    );
  }
}

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

  final String title;

  [@override](/user/override)
  State<ExamplePage> createState() => _ExamplePageState();
}

class _ExamplePageState extends State<ExamplePage> {
  // 显示普通Toast
  void _showToast() {
    showToast(
      context: context,
      text: 'Toast message',
    );
  }

  // 显示自定义Toast
  void _showCustomToast() {
    showToast(
      context: context,
      text: 'Custom Toast message',
      duration: const Duration(milliseconds: 1000), // 持续时间
      alignment: Alignment.center, // 对齐方式
      textStyle: const TextStyle(fontSize: 20, color: Colors.amber), // 文字样式
      color: Colors.purple, // 背景颜色
    );
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: _showToast, // 点击按钮时调用_showToast方法
              child: const Text('Show Toast'),
            ),
            ElevatedButton(
              onPressed: _showCustomToast, // 点击按钮时调用_showCustomToast方法
              child: const Text('Show Custom Toast'),
            ),
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


just_toast 是一个轻量级的 Flutter 插件,用于在应用中显示简单的 toast 提示。它不依赖于任何第三方库,使用起来非常简单。下面是如何在 Flutter 项目中使用 just_toast 插件的步骤。

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 just_toast 依赖:

dependencies:
  flutter:
    sdk: flutter
  just_toast: ^0.1.0  # 请检查最新版本

然后运行 flutter pub get 来安装依赖。

2. 导入库

在你的 Dart 文件中导入 just_toast

import 'package:just_toast/just_toast.dart';

3. 显示 Toast

使用 JustToast.show 方法来显示 toast 提示。以下是一个简单的示例:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('JustToast Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              // 显示 toast 提示
              JustToast.show(
                context,
                message: '这是一个简单的 Toast 提示!',
                duration: Duration(seconds: 2),
              );
            },
            child: Text('显示 Toast'),
          ),
        ),
      ),
    );
  }
}

4. 参数说明

JustToast.show 方法有几个可选的参数,你可以根据需要自定义 toast 的行为:

  • context: 必填,当前的 BuildContext。
  • message: 必填,要显示的提示信息。
  • duration: toast 显示的时长,默认是 Duration(seconds: 2)
  • position: toast 显示的位置,默认是 JustToastPosition.bottom,可选 JustToastPosition.topJustToastPosition.center
  • backgroundColor: toast 的背景颜色,默认是 Colors.black.withOpacity(0.8)
  • textColor: toast 文本的颜色,默认是 Colors.white
  • borderRadius: toast 的圆角半径,默认是 BorderRadius.circular(8.0)
  • padding: toast 的内边距,默认是 EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0)
  • margin: toast 的外边距,默认是 EdgeInsets.all(16.0)

5. 示例代码

以下是一个更复杂的示例,展示了如何使用不同的参数来自定义 toast:

ElevatedButton(
  onPressed: () {
    JustToast.show(
      context,
      message: '这是一个自定义的 Toast 提示!',
      duration: Duration(seconds: 3),
      position: JustToastPosition.center,
      backgroundColor: Colors.blue,
      textColor: Colors.white,
      borderRadius: BorderRadius.circular(20.0),
      padding: EdgeInsets.symmetric(horizontal: 24.0, vertical: 12.0),
      margin: EdgeInsets.all(24.0),
    );
  },
  child: Text('显示自定义 Toast'),
);
回到顶部