مكتبة الخبز المحمص لرفرفها
الآن تدعم مكتبة الخبز المحمص نوعين من رسائل الخبز المحمص واحد يتطلب BuildContext آخر بدون BuildContext
المنصات المدعومة
- Android
- iOS
- الويب (يستخدم Toastify-JS)
هذا واحد له ميزات محدودة ولا تحكم في واجهة المستخدم
المنصات المدعومة
- الجميع
# 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
);| ملكية | وصف | تقصير |
|---|---|---|
| MSG | السلسلة (غير فارغة) (مطلوب) | مطلوب |
| الطول المحمص | توست. | Toast.length_short |
| جاذبية | Toastgravity.Top (OR) Toastgravity.Center (OR) ToastGravity.bottom (يدعم الويب فقط أعلى ، أسفل) | Toastgravity.bottom |
| TimeInsecforiosWeb | int (لنظام التشغيل iOS و Web) | 1 (ثانية) |
| BackgroundColor | الألوان | باطل |
| TextColor | الألوان | باطل |
| الحجم | 16.0 (تعويم) | باطل |
| الخط | المسار إلى ملف خط في مجلد أصول تطبيق Flutter ، على سبيل المثال "الأصول/المسار/إلى/some-font.ttf" (سلسلة) | باطل |
| webshowclose | خطأ (منطقي) | خطأ شنيع |
| WebBgColor | سلسلة (لون السداسي) | خطية خطية (إلى اليمين ، #00B09B ، #96C93D) |
| وضع الويب | سلسلة ( left ، center أو right ) | يمين |
Fluttertoast . cancel ()لن يعمل الخبز المحمص المخصص على Android 11 وما فوق ، فسيستخدم فقط MSG و ToastLength المتبقيين من جميع الخصائص
قم بإنشاء ملف اسمه toast_custom.xml في مجلد app/res/layout Project الخاص بك وقم بتصميم مخصص
<? 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 > قم بتحديث MaterialApp الخاص بك مع builder كما هو موضح أدناه لاستخدام سياق القسم على المستوى العالمي ، استخدم NavigatorKey للسياق (للوصول إلى السياق على مستوى العالم)
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
| ملكية | وصف | تقصير |
|---|---|---|
| طفل | عنصر واجهة مستخدم (ليس فارغًا) (مطلوب) | مطلوب |
| الخبز المحمص | المدة (اختياري) | |
| جاذبية | الخبز المحمص.* | |
| موقع staloastbuilder | موقع staloastbuilder | |
| باهت | مدة | المدة (ميلي ثانية: 350) |
| تجاهل | منطقية | خطأ شنيع |
| غير مقبول | منطقية | خطأ شنيع |
لاستخدام NavigatorKey للسياق ، قم أولاً بتحديد GlobalKey<NavigatorState> في المستوى الأعلى في ملف main.dart الخاص بك
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 ();...