Toast Library สำหรับ Flutter
ตอนนี้ไลบรารีขนมปังปิ้งนี้รองรับข้อความขนมปังปิ้งสองประเภทซึ่งต้องการ BuildContext อื่น ๆ โดยไม่มี BuildContext
แพลตฟอร์มที่รองรับ
- Android
- iOS
- เว็บ (ใช้ toastify-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
);| คุณสมบัติ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
| ผงชูรส | สตริง (ไม่ใช่โมฆะ) (จำเป็น) | ที่จำเป็น |
| ความยาว | toast.length_short หรือ toast.length_long (ไม่บังคับ) | Toast.length_short |
| แรงโน้มถ่วง | toastgravity.top (หรือ) toastgravity.center (หรือ) toastgravity.bottom (เว็บรองรับด้านบนด้านล่างเท่านั้น) | toastgravity.bottom |
| TimeInsecforiosweb | Int (สำหรับ iOS & Web) | 1 (วินาที) |
| พื้นหลัง | สีแดง | โมฆะ |
| Textcolor | สีขาว | โมฆะ |
| แบบอักษร | 16.0 (ลอย) | โมฆะ |
| ฟอนเตสเซ็ท | พา ธ ไปยังไฟล์ฟอนต์ในโฟลเดอร์สินทรัพย์แอพพลิเคชั่น Flutter เช่น 'สินทรัพย์/เส้นทาง/to/somefont.ttf' (สตริง) | โมฆะ |
| webshowclose | เท็จ (บูล) | เท็จ |
| webbgcolor | สตริง (สีหกเหลี่ยม) | linear-gradient (ไปทางขวา, #00B09B, #96C93D) |
| การวางตำแหน่ง | สตริง ( left center หรือ right ) | ขวา |
Fluttertoast . cancel ()ขนมปังปิ้งแบบกำหนดเองจะไม่ทำงานบน Android 11 ขึ้นไปมันจะใช้เฉพาะ ผงชูรส และ toastlength ที่เหลืออยู่คุณสมบัติทั้งหมดจะถูกละเว้น
สร้างไฟล์ชื่อ toast_custom.xml ในโฟลเดอร์ app/res/layout ของคุณและทำสไตล์ที่กำหนดเอง
<? 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
| คุณสมบัติ | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
| เด็ก | วิดเจ็ต (ไม่ใช่โมฆะ) (จำเป็น) | ที่จำเป็น |
| การทำอาหาร | ระยะเวลา (ไม่บังคับ) | |
| แรงโน้มถ่วง | Toastgravity.* | |
| ตำแหน่ง | ตำแหน่ง | |
| การจางหายไป | ระยะเวลา | ระยะเวลา (มิลลิวินาที: 350) |
| ไม่รู้ | บูลีน | เท็จ |
| Isdismissible | บูลีน | เท็จ |
หากต้องการใช้ 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 ();-