Flutter 学习之旅 之 flutter 使用 fluttertoast 的 toast 实现简单的 Toast 效果

server/2025/3/4 6:01:21/

flutter%20%E4%BD%BF%E7%94%A8%20fluttertoast%20%E7%9A%84%20toast%20%E5%AE%9E%E7%8E%B0%E7%AE%80%E5%8D%95%E7%9A%84%20Toast%20%E6%95%88%E6%9E%9C" name="Flutter%20%E5%AD%A6%E4%B9%A0%E4%B9%8B%E6%97%85%20%E4%B9%8B%20flutter%20%E4%BD%BF%E7%94%A8%20fluttertoast%20%E7%9A%84%20toast%20%E5%AE%9E%E7%8E%B0%E7%AE%80%E5%8D%95%E7%9A%84%20Toast%20%E6%95%88%E6%9E%9C" style="background-color:transparent">Flutter 学习之旅 之 flutter 使用 fluttertoast 的 toast 实现简单的 Toast 效果

目录

flutter%20%E4%BD%BF%E7%94%A8%20fluttertoast%20%E7%9A%84%20toast%20%E5%AE%9E%E7%8E%B0%E7%AE%80%E5%8D%95%E7%9A%84%20Toast%20%E6%95%88%E6%9E%9C-toc" name="tableOfContents" style="margin-left:0px">Flutter 学习之旅 之 flutter 使用 fluttertoast 的 toast 实现简单的 Toast 效果

一、简单介绍

二、简单介绍 futtertoast

flutter-toc" name="tableOfContents" style="margin-left:40px">三、安装 fluttertoast

四、简单案例实现

五、关键脚本


一、简单介绍

Flutter 是一款开源的 UI 软件开发工具包,由 Google 开发和维护。它允许开发者使用一套代码同时构建跨平台的应用程序,包括移动设备(iOS 和 Android)、Web 和桌面平台(Windows、macOS 和 Linux)。

Flutter 使用 Dart 编程语言,它可以将代码编译为 ARM 或 Intel 机器代码以及 JavaScript,从而实现快速的性能。Flutter 提供了一个丰富的预置小部件库,开发者可以根据自己的需求灵活地控制每个像素,从而创建自定义的、适应性强的设计,这些设计在任何屏幕上都能呈现出色的外观和感觉。

二、简单介绍 futtertoast

网址:fluttertoast | Flutter package

fluttertoast 是一个用于在 Flutter 应用程序中显示 Toast 消息的插件。它允许开发者以一种简单、高效的方式向用户显示短暂的通知或提示消息。

flutter" name="%E4%B8%89%E3%80%81%E5%AE%89%E8%A3%85%20webview_flutter" style="background-color:transparent">三、安装 fluttertoast

1、直接运行命令

使用 Flutter:flutter pub add fluttertoast

2、或者在 pubspec.yaml 添加

dependencies:fluttertoast: ^8.2.12

四、简单案例实现

1、这里使用 Android Studio 进行创建 Flutter 项目

2、创建一个 application 的 Flutter 项目

3、工程创建后如下

4、添加脚本,实现 ToastUtils 的 Toast 功能封装

5、在 main 中 测试封装ToastUtils 的 Toast 功能

6、连接设备,运行项目,简单效果如下

五、关键脚本

1、fluttertoast_plugin.dart

import 'package:flutter/material.dart'; // 导入 Flutter 的 Material 组件库
import 'package:fluttertoast/fluttertoast.dart'; // 导入 fluttertoast 插件/// Toast 工具类,封装了常用的 Toast 显示功能
class ToastUtils {/// 显示普通 Toast 消息/// [msg]:要显示的消息内容static void showToast(String msg) {// 调用 Fluttertoast 的 showToast 方法显示 ToastFluttertoast.showToast(// msg:Toast 显示的消息内容msg: msg,// toastLength:Toast 显示的时长,Toast.LENGTH_SHORT 表示短时间显示toastLength: Toast.LENGTH_SHORT,// gravity:Toast 显示的位置,ToastGravity.BOTTOM 表示在屏幕底部显示gravity: ToastGravity.BOTTOM,// timeInSecForIosWeb:在 iOS 和 Web 平台上 Toast 显示的时间(秒)timeInSecForIosWeb: 1,// backgroundColor:Toast 的背景颜色,这里设置为半透明黑色backgroundColor: Colors.black54,// textColor:Toast 文本的颜色,这里设置为白色textColor: Colors.white,// fontSize:Toast 文本的字体大小,这里设置为 16.0fontSize: 16.0,);}/// 显示自定义样式 Toast 消息/// [msg]:要显示的消息内容static void showCustomToast(String msg) {// 调用 Fluttertoast 的 showToast 方法显示 ToastFluttertoast.showToast(// msg:Toast 显示的消息内容msg: msg,// toastLength:Toast 显示的时长,Toast.LENGTH_LONG 表示长时间显示toastLength: Toast.LENGTH_LONG,// gravity:Toast 显示的位置,ToastGravity.CENTER 表示在屏幕中央显示gravity: ToastGravity.CENTER,// timeInSecForIosWeb:在 iOS 和 Web 平台上 Toast 显示的时间(秒)timeInSecForIosWeb: 2,// backgroundColor:Toast 的背景颜色,这里设置为蓝色backgroundColor: Colors.blue,// textColor:Toast 文本的颜色,这里设置为白色textColor: Colors.white,// fontSize:Toast 文本的字体大小,这里设置为 18.0fontSize: 18.0,);}/// 显示错误 Toast 消息/// [msg]:要显示的消息内容static void showErrorToast(String msg) {// 调用 Fluttertoast 的 showToast 方法显示 ToastFluttertoast.showToast(// msg:Toast 显示的消息内容msg: msg,// toastLength:Toast 显示的时长,Toast.LENGTH_SHORT 表示短时间显示toastLength: Toast.LENGTH_SHORT,// gravity:Toast 显示的位置,ToastGravity.BOTTOM 表示在屏幕底部显示gravity: ToastGravity.BOTTOM,// timeInSecForIosWeb:在 iOS 和 Web 平台上 Toast 显示的时间(秒)timeInSecForIosWeb: 1,// backgroundColor:Toast 的背景颜色,这里设置为红色backgroundColor: Colors.red,// textColor:Toast 文本的颜色,这里设置为白色textColor: Colors.white,// fontSize:Toast 文本的字体大小,这里设置为 16.0fontSize: 16.0,);}/// 取消所有正在显示的 Toast 消息static void cancelToast() {// 调用 Fluttertoast 的 cancel 方法取消所有正在显示的 ToastFluttertoast.cancel();}
}

代码说明

  1. import 语句

    • package:flutter/material.dart:导入 Flutter 的 Material 组件库,提供基本的 UI 组件。

    • package:fluttertoast/fluttertoast.dart:导入 fluttertoast 插件,用于显示 Toast 消息。

  2. ToastUtils

    • 这是一个工具类,封装了常用的 Toast 显示功能,所有方法都是静态方法,可以直接通过类名调用。

  3. showToast 方法

    • 显示一个普通 Toast 消息,参数 msg 是要显示的消息内容。

    • 使用 Fluttertoast.showToast 方法显示 Toast,设置了显示时长、位置、背景颜色、文本颜色和字体大小等参数。

  4. showCustomToast 方法

    • 显示一个自定义样式的 Toast 消息,参数 msg 是要显示的消息内容。

    • showToast 类似,但设置了不同的显示时长、位置和背景颜色。

  5. showErrorToast 方法

    • 显示一个错误 Toast 消息,参数 msg 是要显示的消息内容。

    • 设置了红色背景,表示错误信息。

  6. cancelToast 方法

    • 取消所有正在显示的 Toast 消息,调用 Fluttertoast.cancel() 方法实现。

2、main.dart

import 'package:flutter/material.dart'; // 导入 Flutter 的 Material 组件库// 导入自定义的 Toast 工具类
import 'package:test_toast/toast/fluttertoast_plugin.dart';void main() => runApp(MyApp());// 主应用程序类
class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {// 返回一个 MaterialApp,它是 Flutter 应用的基础组件return MaterialApp(title: 'Flutter Toast Demo', // 应用的标题home: Scaffold( // 应用的主页面,Scaffold 是常用的页面布局组件appBar: AppBar( // 应用的导航栏title: Text('Flutter Toast Demo'), // 导航栏的标题),body: Center( // 页面的主体内容,居中显示child: Column( // 使用 Column 垂直布局子组件mainAxisAlignment: MainAxisAlignment.center, // 垂直居中对齐children: [ // 子组件列表// 第一个按钮:显示普通 ToastElevatedButton(onPressed: () => ToastUtils.showToast("普通 Toast"), // 按钮点击事件child: Text("显示普通 Toast"), // 按钮上的文字),SizedBox(height: 20), // 间隔组件,垂直间隔 20 像素// 第二个按钮:显示自定义样式 ToastElevatedButton(onPressed: () => ToastUtils.showCustomToast("自定义样式 Toast"), // 按钮点击事件child: Text("显示自定义样式 Toast"), // 按钮上的文字),SizedBox(height: 20), // 间隔组件,垂直间隔 20 像素// 第三个按钮:显示错误 ToastElevatedButton(onPressed: () => ToastUtils.showErrorToast("错误信息"), // 按钮点击事件child: Text("显示错误 Toast"), // 按钮上的文字),SizedBox(height: 20), // 间隔组件,垂直间隔 20 像素// 第四个按钮:取消所有 ToastElevatedButton(onPressed: () => ToastUtils.cancelToast(), // 按钮点击事件child: Text("取消所有 Toast"), // 按钮上的文字),],),),),);}
}

代码说明

  1. import 语句

    • package:flutter/material.dart:导入 Flutter 的 Material 组件库,提供基本的 UI 组件。

    • package:test_toast/toast/fluttertoast_plugin.dart:导入自定义的 Toast 工具类,包含了显示 Toast 的方法。

  2. main 函数

    • 应用的入口点,调用 runApp 方法启动应用,并传入 MyApp 作为根组件。

  3. MyApp

    • 这是一个无状态的 StatelessWidget,定义了应用的根组件。

    • build 方法返回了一个 MaterialApp,它是 Flutter 应用的基础组件。

  4. MaterialApp

    • 它是 Flutter 应用的入口点,提供了路由和主题等功能。

    • title 属性设置了应用的标题。

  5. Scaffold

    • 它是一个页面布局组件,提供了标准的材料设计布局结构。

    • appBar 属性定义了页面的导航栏。

    • body 属性定义了页面的主体内容。

  6. CenterColumn

    • Center 用于将子组件居中显示。

    • Column 是一个垂直布局组件,用于垂直排列子组件。

    • mainAxisAlignment 属性设置了子组件在垂直方向上的对齐方式。

  7. ElevatedButton

    • 它是一个带有阴影的按钮组件。

    • onPressed 属性定义了按钮的点击事件。

    • child 属性定义了按钮上的文字。

  8. SizedBox

    • 它是一个占位组件,用于设置高度或宽度。

    • 在这里用于设置垂直间隔。


http://www.ppmy.cn/server/171952.html

相关文章

HarmonyOS NEXT 原生应用/元服务-自定义运行/调试配置

一、设置调试代码类型 点击Run > Edit Configurations > Debugger,选择相应模块,设置Debug type即可。 工程调试类型默认为Detect Automatically,关于各调试类型的说明如下表所示: 表1 调试类型配置项 二、设置HAP安装方…

一文掌握 Scrapy 框架的详细使用,包括实战案例

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. Scrapy 简介2. Scrapy 的核心组件3. 安装 Scrapy4. 创建 Scrapy 项目4.1 创建项目4.2 创建 Spider5. 编写 Spider5.1 定义 Item5.2 编写 Spider 逻辑6. 运行 Scrapy 爬虫6.1 运行爬虫6.2 保存爬取数据7. Scrapy 的高…

【笔记ing】每天50个英语词汇

ex- e-out exclude 排外,排除 expect 期待,期望 单词构成: 前缀(prefix):情感(emotion)方向(orientation) 词根(root)&#xf…

设计模式-(状态模式,策略模式,代理模式,责任链模式)

状态模式 概念: 用于管理一个对象在不同状态下的行为变化。它允许对象在内部状态改变时改变其行为,从而让对象看起来像是改变了其类。状态模式的核心思想是将状态封装到独立的类中,每个状态类都定义了在该状态下对象的行为 状态模式主要涉…

【华为OD机考】2024E+D卷真题【完全原创题解 详细考点分类 不断更新题目 六种主流语言Py+Java+Cpp+C+Js+Go】

可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 oj1441了解算法冲刺训练(备注【CSDN】否则不通过) 文章目录 相关推荐阅读模拟 数学排序字符串基础数组基础系统设计蒙特卡洛模拟其他 栈 常规栈单调栈 队列(题目极少,几乎不…

初阶MySQL(两万字全面解析)

文章目录 1.初识MySQL1.1数据库1.2查看数据库1.3创建数据库1.4字符集编码和排序规则1.5修改数据库1.6删除数据库 2.MySQL常用数据类型和表的操作2.(一)常用数据类型1.数值类2.字符串类型3.二进制类型4.日期类型 2.(二)表的操作1查看指定库中所有表2.创建表 3.查看表结构和查看表…

【linux】详谈 环境变量

目录 一、基本概念 二、常见的环境变量 取消环境变量 三、获取环境变量 通过代码获取环境变量 环境变量的特性 1. getenv函数:获取指定的环境变量 2. environ获取环境变量 四、本地变量 五、定义环境变量的方法 临时定义(仅对当前会话有效) 永…

linux中断调用流程(arm)

文章目录 ARM架构下Linux中断处理全流程解析:从硬件触发到驱动调用 ⚡**一、中断触发与硬件层响应** 🔌**1. 设备触发中断** 📡 **二、CPU阶段:异常入口与上下文处理** 🖥️**1. 异常模式切换** 🔄**2. 跳转…