Flutter消息提示插件an_toast的使用
Flutter消息提示插件an_toast的使用
Usage
an_toast
是一个不依赖原生实现的自定义绘制的Flutter吐司库。以下是使用方法的完整示例:
class ToastDemo extends StatefulWidget {
const ToastDemo({super.key});
[@override](/user/override)
State<ToastDemo> createState() => _ToastDemoState();
}
class _ToastDemoState extends State<ToastDemo> {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Toast Demo'),
),
body: ListView(
children: [
// 显示短时间Toast
TextButton(
onPressed: () {
Toast.show('当前的toast样式及动画', duration: Toast.DURATION_SHORT);
},
child: const Text('显示Toast 短时间'),
),
// 显示长时间Toast
TextButton(
onPressed: () {
Toast.show('当前的toast样式及动画', duration: Toast.DURATION_LONG);
},
child: const Text('显示Toast 长时间'),
),
// 显示居中的Toast
TextButton(
onPressed: () {
Toast.show('当前的toast样式及动画', gravity: ToastGravity.center);
},
child: const Text('显示Toast 中间'),
),
// 显示顶部的Toast
TextButton(
onPressed: () {
Toast.show('当前的toast样式及动画', gravity: ToastGravity.top);
},
child: const Text('显示Toast 顶部'),
),
// 显示自定义样式的Toast
TextButton(
onPressed: () {
Widget custom = const Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(
Icons.add_alert_outlined, // 使用图标
size: 25,
),
Padding(padding: EdgeInsets.only(left: 6)), // 添加间距
Text('自定义的toast样式'), // 文本内容
],
);
Toast.showWidget(custom, gravity: ToastGravity.bottom); // 自定义位置为底部
},
child: const Text('显示Toast 自定义'),
),
],
),
);
}
}
完整示例代码
import 'package:an_toast/an_toast.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Toast Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const ToastDemo(),
);
}
}
class ToastDemo extends StatefulWidget {
const ToastDemo({super.key});
[@override](/user/override)
State<ToastDemo> createState() => _ToastDemoState();
}
class _ToastDemoState extends State<ToastDemo> {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Toast Demo'),
),
body: ListView(
children: [
TextButton(
onPressed: () {
Toast.show('当前的toast样式及动画', duration: Toast.DURATION_SHORT);
},
child: const Text('显示Toast 短时间'),
),
TextButton(
onPressed: () {
Toast.show('当前的toast样式及动画', duration: Toast.DURATION_LONG);
},
child: const Text('显示Toast 长时间'),
),
TextButton(
onPressed: () {
Toast.show('当前的toast样式及动画', gravity: ToastGravity.center);
},
child: const Text('显示Toast 中间'),
),
TextButton(
onPressed: () {
Toast.show('当前的toast样式及动画', gravity: ToastGravity.top);
},
child: const Text('显示Toast 顶部'),
),
TextButton(
onPressed: () {
Widget custom = const Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(
Icons.add_alert_outlined,
size: 25,
),
Padding(padding: EdgeInsets.only(left: 6)),
Text('自定义的toast样式'),
],
);
Toast.showWidget(custom, gravity: ToastGravity.bottom);
},
child: const Text('显示Toast 自定义'),
),
],
),
);
}
}
更多关于Flutter消息提示插件an_toast的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter消息提示插件an_toast的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
an_toast
是一个用于在 Flutter 应用中显示消息提示(Toast)的插件。它可以帮助你在应用中快速、简洁地显示短暂的提示信息。以下是 an_toast
的基本使用方法:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 an_toast
插件的依赖:
dependencies:
flutter:
sdk: flutter
an_toast: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来下载并安装依赖。
2. 导入包
在你的 Dart 文件中导入 an_toast
包:
import 'package:an_toast/an_toast.dart';
3. 使用 AnToast
显示 Toast
你可以使用 AnToast.show
方法来显示 Toast 消息。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:an_toast/an_toast.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('AnToast Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
// 显示 Toast 消息
AnToast.show(
context,
message: 'This is a Toast message!',
duration: Duration(seconds: 2),
position: AnToastPosition.bottom,
);
},
child: Text('Show Toast'),
),
),
),
);
}
}
4. 参数说明
AnToast.show
方法接受以下参数:
context
: BuildContext,用于获取当前的上下文。message
: 要显示的提示消息。duration
: Toast 显示的持续时间,默认为Duration(seconds: 2)
。position
: Toast 显示的位置,可以是AnToastPosition.top
、AnToastPosition.center
或AnToastPosition.bottom
,默认为AnToastPosition.bottom
。backgroundColor
: Toast 的背景颜色,默认为Colors.black.withOpacity(0.8)
。textStyle
: Toast 消息的文本样式,默认为TextStyle(color: Colors.white)
。
5. 自定义 Toast
你可以通过传递不同的参数来自定义 Toast 的外观和行为。例如:
AnToast.show(
context,
message: 'Custom Toast',
duration: Duration(seconds: 3),
position: AnToastPosition.center,
backgroundColor: Colors.blue,
textStyle: TextStyle(color: Colors.white, fontSize: 16),
);
6. 注意事项
AnToast
是一个全局的 Toast 工具,因此在显示 Toast 时,确保传递的context
是有效的。- 如果你在多个地方频繁显示 Toast,建议使用
AnToast
的show
方法,而不是创建多个实例。
7. 示例代码
以下是一个完整的示例代码,展示了如何使用 an_toast
插件:
import 'package:flutter/material.dart';
import 'package:an_toast/an_toast.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('AnToast Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
AnToast.show(
context,
message: 'Bottom Toast',
duration: Duration(seconds: 2),
position: AnToastPosition.bottom,
);
},
child: Text('Show Bottom Toast'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
AnToast.show(
context,
message: 'Center Toast',
duration: Duration(seconds: 3),
position: AnToastPosition.center,
backgroundColor: Colors.green,
textStyle: TextStyle(color: Colors.white, fontSize: 18),
);
},
child: Text('Show Center Toast'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
AnToast.show(
context,
message: 'Top Toast',
duration: Duration(seconds: 1),
position: AnToastPosition.top,
backgroundColor: Colors.red,
textStyle: TextStyle(color: Colors.white, fontSize: 14),
);
},
child: Text('Show Top Toast'),
),
],
),
),
),
);
}
}