asia域名网络优化这个行业怎么样
Flutter 学习之旅 之 flutter 使用 fluttertoast 的 toast 实现简单的 Toast 效果
目录
Flutter 学习之旅 之 flutter 使用 fluttertoast 的 toast 实现简单的 Toast 效果
一、简单介绍
二、简单介绍 futtertoast
三、安装 fluttertoast
四、简单案例实现
五、关键脚本
一、简单介绍
Flutter 是一款开源的 UI 软件开发工具包,由 Google 开发和维护。它允许开发者使用一套代码同时构建跨平台的应用程序,包括移动设备(iOS 和 Android)、Web 和桌面平台(Windows、macOS 和 Linux)。
Flutter 使用 Dart 编程语言,它可以将代码编译为 ARM 或 Intel 机器代码以及 JavaScript,从而实现快速的性能。Flutter 提供了一个丰富的预置小部件库,开发者可以根据自己的需求灵活地控制每个像素,从而创建自定义的、适应性强的设计,这些设计在任何屏幕上都能呈现出色的外观和感觉。
二、简单介绍 futtertoast
网址:fluttertoast | Flutter package
fluttertoast
是一个用于在 Flutter 应用程序中显示 Toast 消息的插件。它允许开发者以一种简单、高效的方式向用户显示短暂的通知或提示消息。
三、安装 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();}
}
代码说明
import
语句:
package:flutter/material.dart
:导入 Flutter 的 Material 组件库,提供基本的 UI 组件。
package:fluttertoast/fluttertoast.dart
:导入fluttertoast
插件,用于显示 Toast 消息。
ToastUtils
类:
这是一个工具类,封装了常用的 Toast 显示功能,所有方法都是静态方法,可以直接通过类名调用。
showToast
方法:
显示一个普通 Toast 消息,参数
msg
是要显示的消息内容。使用
Fluttertoast.showToast
方法显示 Toast,设置了显示时长、位置、背景颜色、文本颜色和字体大小等参数。
showCustomToast
方法:
显示一个自定义样式的 Toast 消息,参数
msg
是要显示的消息内容。与
showToast
类似,但设置了不同的显示时长、位置和背景颜色。
showErrorToast
方法:
显示一个错误 Toast 消息,参数
msg
是要显示的消息内容。设置了红色背景,表示错误信息。
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"), // 按钮上的文字),],),),),);}
}
代码说明
import
语句:
package:flutter/material.dart
:导入 Flutter 的 Material 组件库,提供基本的 UI 组件。
package:test_toast/toast/fluttertoast_plugin.dart
:导入自定义的 Toast 工具类,包含了显示 Toast 的方法。
main
函数:
应用的入口点,调用
runApp
方法启动应用,并传入MyApp
作为根组件。
MyApp
类:
这是一个无状态的
StatelessWidget
,定义了应用的根组件。
build
方法返回了一个MaterialApp
,它是 Flutter 应用的基础组件。
MaterialApp
:
它是 Flutter 应用的入口点,提供了路由和主题等功能。
title
属性设置了应用的标题。
Scaffold
:
它是一个页面布局组件,提供了标准的材料设计布局结构。
appBar
属性定义了页面的导航栏。
body
属性定义了页面的主体内容。
Center
和Column
:
Center
用于将子组件居中显示。
Column
是一个垂直布局组件,用于垂直排列子组件。
mainAxisAlignment
属性设置了子组件在垂直方向上的对齐方式。
ElevatedButton
:
它是一个带有阴影的按钮组件。
onPressed
属性定义了按钮的点击事件。
child
属性定义了按钮上的文字。
SizedBox
:
它是一个占位组件,用于设置高度或宽度。
在这里用于设置垂直间隔。