Toastbibliothek für Flattern
Jetzt unterstützt diese Toast -Bibliothek zwei Arten von Toast -Nachrichten, für die BuildContext ohne BuildContext erforderlich ist
Unterstützte Plattformen
- Android
- IOS
- Web (verwendet Toastify-Js)
Dieser verfügt über begrenzte Funktionen und keine Kontrolle über die Benutzeroberfläche
Unterstützte Plattformen
- ALLE
# 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
);| Eigentum | Beschreibung | Standard |
|---|---|---|
| MSG | String (nicht null) (erforderlich) | erforderlich |
| Toastlenlänge | Toast.length_short oder toast.length_long (optional) | Toast.length_short |
| Schwerkraft | Toastgravity.top (oder) toastgravity.center (oder) toastgravity.bottom (Web unterstützt nur oben, unten) | Toastgravity.Bottom |
| timeInecforiosweb | int (für iOS & Web) | 1 (Sek.) |
| Hintergrundkolor | Farben.RED | NULL |
| TextColor | Farben.White | NULL |
| Schriftgröße | 16.0 (float) | NULL |
| Fontasset | Pfad zu einer Schriftart Datei im Ordner Flutter App Assets, z. B. 'Assets/Pfad/to/sony-font.ttf' (String) | NULL |
| WebshowClose | Falsch (bool) | FALSCH |
| webbgcolor | String (Sechskantfarbe) | linear-Gradient (nach rechts, #00b09b, #96c93d) |
| Webposition | String ( left , center oder right ) | Rechts |
Fluttertoast . cancel ()Benutzerdefinierte Toast funktioniert nicht auf Android 11 und höher. Er verwendet nur MSG und die verbleibenden Tastenlängen werden ignoriert
Erstellen Sie eine Datei mit dem Namen toast_custom.xml in Ihrem Projekt app/res/layout -Ordner und führen Sie benutzerdefiniertes Styling durch
<? 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 > Aktualisieren Sie Ihr MaterialApp mit builder wie unten für die Verwendung des Kontextes Global Check -Abschnitt. Verwenden Sie NavigatorKey für den Kontext (um den Kontext global zugreifen)
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 ,
);
});
}
Rufen Sie nun _showToast()
Weitere Details finden Sie ein example
| Eigentum | Beschreibung | Standard |
|---|---|---|
| Kind | Widget (nicht null) (erforderlich) | erforderlich |
| Toastduration | Dauer (optional) | |
| Schwerkraft | Toastgravity.* | |
| positioniertOastbuilder | PositioniertOastbuilder | |
| Verblasung | Dauer | Dauer (Millisekunden: 350) |
| ignorepointer | boolean | FALSCH |
| Isdismmerkmal | boolean | FALSCH |
Um NavigatorKey für main.dart Kontext zu GlobalKey<NavigatorState>
GlobalKey < NavigatorState > navigatorKey = GlobalKey < NavigatorState >(); Zum Zeitpunkt der Initialisierung des FToast müssen wir den Kontext von global definierten GlobalKey<NavigatorState> verwenden
FToast fToast = FToast ();
fToast. init (yourNavKey.currentContext ! ); // To remove present shwoing toast
fToast. removeCustomToast ()
// To clear the queue
fToast. removeQueuedCustomToasts ();...