A flutter sliding toast for displaying beautiful messages.
The 1.4.0 version brings some breaking changes.
Add the following line to pubspec.yaml
:
dependencies:
flutter_sliding_toast: ^1.4.2
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
iconTheme: const IconThemeData(color: Colors.white),
title: const Text("Sliding & Popup Toast"),
centerTitle: true,
),
body: SafeArea(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const SizedBox(width: double.maxFinite),
ElevatedButton(
onPressed: () {
InteractiveToast.slide(
context,
leading: leadingWidget(),
title: const Text(
"Hi there! I'm a sliding toast 😎. "
"Dismiss me by sliding upward.",
),
trailing: trailingWidget(),
toastStyle: const ToastStyle(titleLeadingGap: 10),
toastSetting: const SlidingToastSetting(
animationDuration: Duration(seconds: 1),
displayDuration: Duration(seconds: 2),
toastStartPosition: ToastPosition.top,
toastAlignment: Alignment.topCenter,
),
);
},
child: textWidget("Sliding toast from top center"),
),
const SizedBox(height: 30),
ElevatedButton(
onPressed: () {
InteractiveToast.pop(
context,
title: const Text(
"Hi! I'm a popup toast 🐺. "
"I have fading and scaling effect.",
),
trailing: trailingWidget(),
toastSetting: const PopupToastSetting(
animationDuration: Duration(seconds: 1),
displayDuration: Duration(seconds: 3),
toastAlignment: Alignment.bottomCenter,
),
);
},
child: textWidget("Popup toast at bottom center"),
),
],
),
),
);
}
Text textWidget(String text) => Text(
text,
style: const TextStyle(fontSize: 16),
);
Icon trailingWidget() => const Icon(
Icons.person,
color: Colors.deepPurple,
);
Container leadingWidget() {
return Container(
width: 40,
height: 40,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.purple,
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(.1),
spreadRadius: 3,
blurRadius: 4,
),
],
),
alignment: Alignment.center,
child: const Text(
"🦄",
style: TextStyle(fontSize: 20),
),
);
}
}
Pull requests are welcomed!
If you encounter any problems or you have any ideas, feel free to open an issue: