๐ค
BotToast A really easy to use flutter toast library!
ไธญๆ็ฎไฝ
Language: English |๐ฒ Overview๐ผ Online Demo๐ณ Example๐บ Renderings๐ฎ Getting started๐ผ 2.0 version๐ Documentation
๐ฒ Overview
-
In the true sense of Toast, you can call it whenever you need it, without any restrictions! (This is his most important feature, different from other Toast libraries)
-
Feature-rich, support for displaying notifications, text, loading, attachments, etc. Toast
-
Support for popping up various custom Toasts, or you can pop up any Widget as long as it meets the requirements of the flutter code.
-
Api is easy to use, basically has no necessary parameters (including BuildContext), basically all optional parameters
-
Pure flutter implementation, it is not easy to bring compatibility problems
๐ผ Online Demo
Online demo (Web effects may be biased, the actual effect is subject to the mobile phone)
๐ณ Example
๐บ Renderings
Notification | Attached | CustomAnimation |
---|---|---|
Loading | Text | CustomWidget |
---|---|---|
๐ฎ Getting started
1. add dependencies into you project pubspec.yaml file
dependencies:
bot_toast: ^2.2.1
2. import BotToast lib
import 'package:bot_toast/bot_toast.dart';
3. initialization BotToast
//1. wrap MaterialApp with BotToastInit
BotToastInit(
child:MaterialApp(
title: 'BotToast Demo',
navigatorObservers: [BotToastNavigatorObserver()],//2.registered route observer
home: XxxxPage(),
)
);
4. use BotToast
BotToast.showText(text:"xxxx"); //popup a text toast;
BotToast.showSimpleNotification(title: "init"); // popup a sample notification toast;
BotToast.showLoading(); //popup a sample loading toast
//popup a attachments toast
BotToast.showAttachedWidget(
attachedWidget: (_) => Card(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Icon(
Icons.favorite,
color: Colors.redAccent,
),
),
),
duration: Duration(seconds: 2),
target: Offset(520, 520));
๐ผ 2.0 version
Major changes:
-
Support for custom Toast animation and animation duration
-
Add the
showAnimationWidget
method, which can be used to highly customize an animated Toast๐คฉ -
Modified the initialization method to make it more versatile. 1.x version upgrade to 2.0 modification needs manual modification to adapt
-
Remove the
reInit
method and the two deprecated enumerationsPreferDirection.Below
andPreferDirection.Upside
1.x version upgrade to 2.x version
- Modify the location used by BotInit, Now wrap your MaterialApp with
BotToastInit
instead ofXxxPage
change:
///1.x.x version initialization method
MaterialApp(
title: 'BotToast Demo',
navigatorObservers: [BotToastNavigatorObserver()],
home: BotToastInit(
child: XxxxPage()
),
);
to:
///2.x.x version initialization method
///Wrap your MaterialApp with BotToastInit
BotToastInit(
child:MaterialApp(
title: 'BotToast Demo',
navigatorObservers: [BotToastNavigatorObserver()],
home: XxxxPage(),
)
);
- Modify the
warpWidget
parameter of theshowEnhancedWidget
method (note that this step is not necessary, depending on whether you have usedshowEnhancedWidget
, if not used, this step can be omitted)
change:
///1.x.x version
showEnhancedWidget(
...
warpWidget:(widget)=>XxxWrap(child:widget);
...
)
to:
///2.x.x version
showEnhancedWidget(
...
warpWidget:(cancel,widget)=>XxxWrap(child:widget);
...
)