Flutter消息提示插件overlay_toast_message的使用
Flutter消息提示插件overlay_toast_message的使用
overlay_toast_message
是一个用于 Flutter 的消息提示插件。你可以根据自己的需求轻松自定义。
使用方法
首先,在 pubspec.yaml
文件中添加依赖:
dependencies:
overlay_toast_message: ^1.0.2
然后导入包:
import 'package:overlay_toast_message/overlay_toast_message.dart';
展示消息提示的方法如下:
OverlayToastMessage.show(
context,
textMessage: 'Dismiss All And Show Toast',
);
自定义消息提示
你也可以通过传入自定义的 Widget
来展示更复杂的消息提示:
OverlayToastMessage.show(
context,
widget: yourWidget,
);
完整示例
以下是一个完整的示例代码,展示了如何在 Flutter 应用中使用 overlay_toast_message
插件。
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:overlay_toast_message/overlay_toast_message.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
[@override](/user/override)
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: onTapCustomBtn,
child: const Text('Show Custom Toast'),
),
ElevatedButton(
onPressed: onTapShowToastBtn,
child: const Text('Show Toast'),
),
ElevatedButton(
onPressed: onTapDismissAllAndShowToastBtn,
child: const Text('Dismiss All And Show Toast'),
),
],
),
),
);
}
// 显示普通消息提示
void onTapShowToastBtn() {
OverlayToastMessage.show(
context,
textMessage: 'Toast Message',
);
}
// 显示消息提示并关闭所有其他消息提示
void onTapDismissAllAndShowToastBtn() {
OverlayToastMessage.show(
context,
dismissAll: true,
textMessage: 'Dismiss All And Show Toast Message',
);
}
// 显示自定义消息提示
void onTapCustomBtn() {
OverlayToastMessage.show(
context,
widget: Padding(
padding: const EdgeInsets.symmetric(horizontal: 15),
child: Container(
decoration: BoxDecoration(boxShadow: const [
BoxShadow(
spreadRadius: 3,
blurRadius: 10,
offset: Offset(0, 5),
color: Colors.black12,
)
], borderRadius: BorderRadius.circular(15), color: Colors.white),
child: Padding(
padding: const EdgeInsets.all(15),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: const [
Icon(Icons.ac_unit),
SizedBox(width: 15),
Expanded(
child: Text(
'Custom Toast',
style: TextStyle(fontWeight: FontWeight.w500, fontSize: 18),
textAlign: TextAlign.start,
maxLines: 2,
),
),
],
),
),
),
),
);
}
}
更多关于Flutter消息提示插件overlay_toast_message的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter消息提示插件overlay_toast_message的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用overlay_toast_message
插件来显示消息提示的示例代码。
首先,确保你已经在pubspec.yaml
文件中添加了overlay_toast_message
依赖:
dependencies:
flutter:
sdk: flutter
overlay_toast_message: ^latest_version # 请替换为最新版本号
然后运行flutter pub get
来安装依赖。
接下来,在你的Flutter项目中,你可以按照以下步骤使用overlay_toast_message
插件。
1. 导入插件
在你需要使用消息提示的Dart文件中导入插件:
import 'package:overlay_toast_message/overlay_toast_message.dart';
2. 初始化OverlayToastMessage
通常你会在应用的顶层(比如MaterialApp
或者CupertinoApp
的builder
属性中)初始化OverlayToastMessage
:
import 'package:flutter/material.dart';
import 'package:overlay_toast_message/overlay_toast_message.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return OverlayToastMessage(
child: MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
),
);
}
}
3. 显示消息提示
现在你可以在任何地方使用OverlayToastMessage.showMessage
方法来显示消息提示。例如,在MyHomePage
中:
import 'package:flutter/material.dart';
import 'package:overlay_toast_message/overlay_toast_message.dart';
class MyHomePage extends StatelessWidget {
void _showToastMessage() {
OverlayToastMessage.showMessage(
context: context,
message: "这是一个消息提示!",
duration: Duration(seconds: 3), // 持续时间,默认为2秒
gravity: ToastGravity.BOTTOM, // 显示位置,可以是TOP, BOTTOM, CENTER等
backgroundColor: Colors.black.withOpacity(0.7), // 背景颜色
textColor: Colors.white, // 文字颜色
fontSize: 16.0, // 文字大小
isdismissible: true, // 是否可以手动关闭
icon: Icon(Icons.info_outline), // 可选的图标
onTap: () {
// 点击时的回调
print("Toast被点击了!");
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Overlay Toast Message 示例"),
),
body: Center(
child: ElevatedButton(
onPressed: _showToastMessage,
child: Text("显示消息提示"),
),
),
);
}
}
在这个示例中,我们创建了一个按钮,当点击按钮时,会调用_showToastMessage
方法,该方法使用OverlayToastMessage.showMessage
来显示一个消息提示。
你可以根据需求调整showMessage
方法的参数,例如修改消息内容、持续时间、显示位置、背景颜色、文字颜色、文字大小、是否可手动关闭以及点击回调等。
这样,你就可以在你的Flutter应用中使用overlay_toast_message
插件来显示消息提示了。