FlutterToast
1.0.0
吐司圖書館
現在,這個烤麵包庫支持兩種敬酒消息,一個需要BuildContext其他,而沒有BuildContext
支持的平台
- 安卓
- ios
- Web(使用Tostify-JS)
這個功能有限,無法控制UI
支持的平台
- 全部
# add this line to your dependencies
fluttertoast : ^8.2.10 import 'package:fluttertoast/fluttertoast.dart' ; Fluttertoast . showToast (
msg : "This is Center Short Toast" ,
toastLength : Toast . LENGTH_SHORT ,
gravity : ToastGravity . CENTER ,
timeInSecForIosWeb : 1 ,
backgroundColor : Colors .red,
textColor : Colors .white,
fontSize : 16.0
);| 財產 | 描述 | 預設 |
|---|---|---|
| 味精 | 字符串(不是null)(必需) | 必需的 |
| 吐司長度 | toast.length_short或toast.length_long(可選) | toast.length_short |
| 重力 | toastgravity.top(OR)toastgravity.center(OR)toastgravity.bottom(Web僅支持頂部,底部) | toastgravity.bottom |
| TimeInsecforiosweb | INT(用於iOS和Web) | 1(sec) |
| 背景色 | 顏色 | 無效的 |
| textcolor | 顏色。白色 | 無效的 |
| 字體大小 | 16.0(浮子) | 無效的 |
| Fontasset | flutter App Assets文件夾中的字體文件的路徑,例如'Assets/path/to/some-font.ttf'(string) | 無效的 |
| Webshowclose | 假(布爾) | 錯誤的 |
| Webbgcolor | 字符串(十六進制顏色) | 線性級別(在右邊,#00B09B,#96C93D) |
| 網站 | 字符串( left , center或right ) | 正確的 |
Fluttertoast . cancel ()自定義吐司將在Android 11及以上無法使用,它將僅使用MSG和吐司長度忽略所有屬性
在項目app/res/layout文件夾中創建一個名為toast_custom.xml的文件,然後進行自定義樣式
<? xml version = " 1.0 " encoding = " utf-8 " ?>
< FrameLayout xmlns : android = " http://schemas.android.com/apk/res/android "
xmlns : tools = " http://schemas.android.com/tools "
android : layout_width = " wrap_content "
android : layout_height = " wrap_content "
android : layout_gravity = " center_horizontal "
android : layout_marginStart = " 50dp "
android : background = " @drawable/corner "
android : layout_marginEnd = " 50dp " >
< TextView
android : id = " @+id/text "
android : layout_width = " wrap_content "
android : layout_height = " wrap_content "
android : background = " #CC000000 "
android : paddingStart = " 16dp "
android : paddingTop = " 10dp "
android : paddingEnd = " 16dp "
android : paddingBottom = " 10dp "
android : textStyle = " bold "
android : textColor = " #FFFFFF "
tools : text = " Toast should be short. " />
</ FrameLayout >在下面的builder中,更新您的MaterialApp ,以便使用上下文查看文檔部分使用navigatorkey for Context(在全球訪問上下文)
MaterialApp (
builder : FToastBuilder (),
home : MyApp (),
navigatorKey : navigatorKey,
), FToast fToast;
@override
void initState () {
super . initState ();
fToast = FToast ();
// if you want to use context from globally instead of content we need to pass navigatorKey.currentContext!
fToast. init (context);
}
_showToast () {
Widget toast = Container (
padding : const EdgeInsets . symmetric (horizontal : 24.0 , vertical : 12.0 ),
decoration : BoxDecoration (
borderRadius : BorderRadius . circular ( 25.0 ),
color : Colors .greenAccent,
),
child : Row (
mainAxisSize : MainAxisSize .min,
children : [
Icon ( Icons .check),
SizedBox (
width : 12.0 ,
),
Text ( "This is a Custom Toast" ),
],
),
);
fToast. showToast (
child : toast,
gravity : ToastGravity . BOTTOM ,
toastDuration : Duration (seconds : 2 ),
);
// Custom Toast Position
fToast. showToast (
child : toast,
toastDuration : Duration (seconds : 2 ),
positionedToastBuilder : (context, child) {
return Positioned (
child : child,
top : 16.0 ,
left : 16.0 ,
);
});
}
現在致電_showToast()
有關更多詳細信息檢查example項目
| 財產 | 描述 | 預設 |
|---|---|---|
| 孩子 | 小部件(不是null)(必需) | 必需的 |
| 吐司 | 持續時間(可選) | |
| 重力 | 吐司。 * | |
| 定位的施工者 | 定位的施工者 | |
| 淡化 | 期間 | 持續時間(毫秒:350) |
| 忽略 | 布爾 | 錯誤的 |
| 毫無疑問 | 布爾 | 錯誤的 |
要使用NavigatorKey進行上下文,首先在main.dart文件中的頂級定義GlobalKey<NavigatorState>
GlobalKey < NavigatorState > navigatorKey = GlobalKey < NavigatorState >();在初始化FToast時,我們需要使用全球定義的GlobalKey<NavigatorState>的上下文
FToast fToast = FToast ();
fToast. init (yourNavKey.currentContext ! ); // To remove present shwoing toast
fToast. removeCustomToast ()
// To clear the queue
fToast. removeQueuedCustomToasts ();...