前言
Flutter是谷歌的移動(dòng)UI框架罕模,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面评腺。
IT界著名的尼古拉斯·高爾包曾說:輪子是IT進(jìn)步的階梯!熱門的框架千篇一律淑掌,好用輪子萬里挑一蒿讥!Flutter作為這兩年開始崛起的跨平臺(tái)開發(fā)框架,其第三方生態(tài)相比其他成熟框架還略有不足抛腕,但輪子的數(shù)量也已經(jīng)很多了芋绸。本系列文章挑選日常app開發(fā)常用的輪子分享出來,給大家提高搬磚效率担敌,同時(shí)也希望flutter的生態(tài)越來越完善摔敛,輪子越來越多。
本系列文章準(zhǔn)備了超過50個(gè)輪子推薦全封,工作原因马昙,盡量每1-2天出一篇文章。
tip:本系列文章合適已有部分flutter基礎(chǔ)的開發(fā)者刹悴,入門請(qǐng)戳:flutter官網(wǎng)
正文
輪子
- 輪子名稱:bot_toast
- 輪子概述:真正意義上的Toast,可以在任何你需要的時(shí)候調(diào)用,不會(huì)有任何限制(自動(dòng)管理context).
- 輪子作者:vivaskerror@gmail.com
- 推薦指數(shù):★★★★★
- 常用指數(shù):★★★★★
-
效果預(yù)覽:
安裝
dependencies:
bot_toast: ^2.0.0+2
import 'package:bot_toast/bot_toast.dart';
概述
真正意義上的Toast,可以在任何你需要的時(shí)候調(diào)用,不會(huì)有任何限制! (這是他最重要的特點(diǎn),跟別的Toast庫不同的地方)
功能豐富,支持顯示通知,文本,加載,附屬等類型Toast
支持在彈出各種自定義Toast,或者說你可以彈出任何Widget,只要它符合flutter代碼的要求即可
Api簡單易用,基本上沒有必要參數(shù)(包括BuildContext),基本上都是可選參數(shù)
純flutter實(shí)現(xiàn),不容易帶來兼容問題
使用
初始化BotToast
//1.使用BotToastInit直接包裹MaterialApp
BotToastInit(
child:MaterialApp(
title: 'BotToast Demo',
navigatorObservers: [BotToastNavigatorObserver()],//2.注冊(cè)路由觀察者
home: XxxxPage(),
)
);
ps:這是我最喜歡的一點(diǎn)行楞,直接在app根入口觀察路由,自動(dòng)管理當(dāng)前的context土匀,后續(xù)調(diào)用時(shí)無需再關(guān)心context敢伸,可以在任意地方調(diào)用。比如:在http工具類里進(jìn)行全局錯(cuò)誤攔截時(shí)彈出toast提示恒削。
最簡單的使用方式
BotToast.showText(text:"xxxx"); //彈出一個(gè)文本框;
BotToast.showSimpleNotification(title: "init"); //彈出簡單通知Toast
BotToast.showLoading(); //彈出一個(gè)加載動(dòng)畫
//彈出一個(gè)定位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));s
定制化使用
這款插件支持非常詳細(xì)的定制化參數(shù)設(shè)置池颈,內(nèi)容太多,我就不貼出來了钓丰,詳情請(qǐng)看:https://github.com/MMMzq/bot_toast/blob/master/API.md躯砰。
定制化效果圖:
-
Notification風(fēng)格定制
-
Attached風(fēng)格定制
-
CustomAnimation風(fēng)格定制
-
Loading風(fēng)格定制
-
Text風(fēng)格定制
-
CustomWidget風(fēng)格定制