Flutter轻量级提示插件delightful_toast的使用
Flutter轻量级提示插件delightful_toast的使用
delightful_toast
是一个为Flutter应用增添交互性和美观性的轻量级提示插件。它提供了丰富的功能,如可滑动关闭、自动消失、按需通过按钮关闭以及以愉悦的方式堆叠提示框等特性。
Features
- Trigger a toastbar:可以触发显示一个提示框。
- Slide to dismiss a toastbar:用户可以通过滑动来关闭提示框。
- Auto dismiss a toastbar:提示框可以在设定的时间后自动消失。
- Dismiss on demand via action buttons:通过动作按钮按需关闭提示框。
- Stacking a toastbar in a delightful way!:以一种愉悦的方式堆叠提示框。
Getting Started
安装
首先,在你的 pubspec.yaml
文件中添加依赖:
dependencies:
delightful_toast: ^1.1.0
然后在需要使用的Dart文件顶部导入此包:
import 'package:delightful_toast/delight_toast.dart';
Usage
你可以根据应用程序的需求,在不同的事件触发时显示提示框,例如按钮点击事件 (onPressed
) 或触摸事件 (onTapped
)。
下面是一个完整的示例代码,展示了如何在Flutter项目中集成并使用 delightful_toast
插件。
示例代码
import 'package:delightful_toast/toast/components/toast_card.dart';
import 'package:delightful_toast/delight_toast.dart';
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
class DelightToastDemo extends StatefulWidget {
const DelightToastDemo({super.key});
@override
State<DelightToastDemo> createState() => _DelightToastDemoState();
}
class _DelightToastDemoState extends State<DelightToastDemo> {
bool onClicked = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Delightful Toast Demo'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 显示带有图标和文本的自定义提示框
DelightToastBar(
autoDismiss: false, // 设置是否自动消失
builder: (context) => const ToastCard(
leading: Icon(
Icons.flutter_dash,
size: 28,
),
title: Text(
"Hi I'm Dash, Let's have a walkthrough of Delight Toast",
style: TextStyle(
fontWeight: FontWeight.w700,
fontSize: 14,
),
),
),
).show(context);
// 模拟按钮点击动画效果
setState(() {
onClicked = true;
});
await Future.delayed(const Duration(milliseconds: 300), () {
setState(() {
onClicked = false;
});
});
},
child: const Text(
"TOAST!",
style: TextStyle(color: Colors.white, fontSize: 16),
),
).animate(target: onClicked ? 1 : 0).scaleXY(
begin: 1,
end: 0.94,
curve: Curves.easeInOut,
duration: const Duration(milliseconds: 100),
),
),
);
}
}
void main() {
runApp(MaterialApp(
home: DelightToastDemo(),
));
}
在这个例子中,我们创建了一个简单的Flutter应用,其中包含一个按钮。当点击该按钮时,会显示一个自定义的 DelightToastBar
提示框,并且按钮会有轻微的缩放动画效果来增强用户体验。
更多关于Flutter轻量级提示插件delightful_toast的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter轻量级提示插件delightful_toast的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用delightful_toast
插件的一个代码示例。delightful_toast
是一个轻量级的提示插件,可以用来显示简洁美观的Toast消息。
步骤 1: 添加依赖
首先,在你的pubspec.yaml
文件中添加delightful_toast
依赖:
dependencies:
flutter:
sdk: flutter
delightful_toast: ^x.y.z # 请替换为最新版本号
然后运行flutter pub get
来安装依赖。
步骤 2: 导入插件
在你的Dart文件中导入delightful_toast
:
import 'package:delightful_toast/delightful_toast.dart';
步骤 3: 使用Toast
接下来,你可以在你的代码中使用DelightfulToast
来显示Toast消息。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:delightful_toast/delightful_toast.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Delightful Toast Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
// 显示Toast消息
DelightfulToast.showToast(
context: context,
message: 'Hello, this is a delightful toast!',
backgroundColor: Colors.blue,
textColor: Colors.white,
fontSize: 16.0,
gravity: ToastGravity.BOTTOM, // 可以选择 TOP, CENTER, BOTTOM
animationType: ToastAnimation.FADE, // 可以选择 FADE, SCALE, SLIDE
duration: Duration(seconds: 2), // 显示时间
);
},
child: Text('Show Toast'),
),
),
),
);
}
}
解释
DelightfulToast.showToast
方法用于显示Toast消息。context
是当前Widget的上下文。message
是你要显示的文本内容。backgroundColor
和textColor
分别设置Toast的背景色和文字颜色。fontSize
设置字体大小。gravity
设置Toast显示的位置(顶部、中间或底部)。animationType
设置Toast的动画类型(渐变、缩放或滑动)。duration
设置Toast显示的时间。
这样,你就可以在你的Flutter应用中轻松地使用delightful_toast
插件来显示Toast消息了。