• Stars
    star
    1,437
  • Rank 32,762 (Top 0.7 %)
  • Language
    Dart
  • License
    MIT License
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Toast Plugin for Flutter

fluttertoast

Toast Library for Flutter

Build Checks

Now this toast library supports two kinds of toast messages one which requires BuildContext other with No BuildContext

Toast with no context

Supported Platforms

This one has limited features and no control over UI

Toast Which requires BuildContext

Supported Platforms

  • ALL
  1. Full Control of the Toast
  2. Toasts will be queued
  3. Remove a toast
  4. Clear the queue

How to Use

# add this line to your dependencies
fluttertoast: ^8.2.2
import 'package:fluttertoast/fluttertoast.dart';

Toast with No Build Context (Android & iOS)

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
    );
property description default
msg String (Not Null)(required) required
toastLength Toast.LENGTH_SHORT or Toast.LENGTH_LONG (optional) Toast.LENGTH_SHORT
gravity ToastGravity.TOP (or) ToastGravity.CENTER (or) ToastGravity.BOTTOM (Web Only supports top, bottom) ToastGravity.BOTTOM
timeInSecForIosWeb int (for ios & web) 1 (sec)
backgroundColor Colors.red null
textcolor Colors.white null
fontSize 16.0 (float) null
webShowClose false (bool) false
webBgColor String (hex Color) linear-gradient(to right, #00b09b, #96c93d)
webPosition String (left, center or right) right

To cancel all the toasts call

Fluttertoast.cancel()

Note Android

Custom Toast will not work on android 11 and above, it will only use msg and toastLength remaining all properties are ignored

Custom Toast For Android

Create a file named toast_custom.xml in your project app/res/layout folder and do custom styling

<?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>

Toast with BuildContext (All Platforms)

Update your MaterialApp with builder like below for the use of Context globally check doc section Use NavigatorKey for Context(to access context globally)

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,
          );
        });
}

Now Call _showToast()

For more details check example project

property description default
child Widget (Not Null)(required) required
toastDuration Duration (optional)
gravity ToastGravity.*

Use NavigatorKey for Context(to access context globally)

To use NavigatorKey for Context first define the GlobalKey<NavigatorState> at top level in your main.dart file

GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();

At the time of initializing the FToast we need to use context from globally defined GlobalKey<NavigatorState>

FToast fToast = FToast();
fToast.init(yourNavKey.currentContext!);

To cancel all the toasts call

// To remove present shwoing toast
fToast.removeCustomToast()

// To clear the queue
fToast.removeQueuedCustomToasts();

Preview Images (No BuildContext)

Preview Images (BuildContext)

If you need any features suggest

...

Buy Me a Coffee

Buy Me A Coffee

More Repositories

1

FlutterHtmlView

Flutter Plugin to render html as a Widget
Dart
241
star
2

RichLinkPreview

A Rich Link Preview Library for Android
Java
216
star
3

FlutterYoutube

Flutter Plugin to play youtube Videos
Java
126
star
4

FlutterWebView

Flutter Plugin that Renders Native Webview as a widget in flutter
Java
62
star
5

FlutterDemoProvider

Flutter State Management using Provider Announced in Google IO 19
Dart
57
star
6

FlutterRtmpPlublisher

A Flutter Plugins that helps you to brodcast Live via RTMP right from your flutter application
Objective-C
53
star
7

FlutterTrelloCards

Dart
40
star
8

MultiSelectChoiceChip

Flutter Multi Select Choice Chip
Dart
32
star
9

nativeweb

Build your Own Plugin using (PlatformViews) Demo for Flutter Live 2018 Extended Event - Hyderabad
Objective-C
27
star
10

QRCodeReaderFlutter

Flutter Plugin for QRCode Reader
Objective-C
26
star
11

ext_video_player

Clone of VideoPlayer plugin with youtube & RTMP Support
Java
19
star
12

FlutterInAppPIP

Flutter Code to do InAPP PIP Like Youtube
Dart
19
star
13

FlutterImageVideoPickerDemo

Flutter Example to Pick Image or Video using image_picker Plugin
Dart
18
star
14

RTMP-Exo-Player-Demo

Demo RTMP Player Using ExoMedia Player
Java
16
star
15

reorderableitemsview

A Flutter package for staggered grid view or ListView with ordering support
Dart
16
star
16

drm_video

DRM Player for Flutter
Dart
15
star
17

flutter_shaders_image

C++
9
star
18

FlutterNativeLog

Flutter Plugin to print Log messages
Dart
8
star
19

FlutterFlareDemo

Flutter App Showing a Flare Animation Demo
Dart
6
star
20

FlutterMediaPlayer

Audio Player, Video Player from Network, Assets and Local File in Flutter
Dart
4
star
21

timelineview

A Flutter package to show a timeline kind of view
Dart
3
star
22

FlutterPageViewAnimation

Dart
3
star
23

bbrecon_mobile_client

A Mobile client for [Bug Bounty Recon](https://github.com/serain/bbrecon) Rest API
Dart
3
star
24

Text-Repeater

A Simple Text Repeater Application written in java for Android
Java
2
star
25

Url-Shortener-UI

This is the UI for https://github.com/PonnamKarthik/UrlShortener API
Vue
2
star
26

flutter_shaders_demo

C++
2
star
27

weather_sdk

Dart
1
star
28

FlutterFileView

A Demo app to View a PDF file with flutter
Dart
1
star
29

tailwind-credit-debitcard-component

CSS
1
star
30

FlutterDynamicLinkingDemo

An Application to demo Firebase Dynamic Linking
Dart
1
star
31

Url-Shortener-Android-App

This the Android Application for https://github.com/PonnamKarthik/UrlShortener this API
Java
1
star
32

UrlShortener

URL Shortener is used to create short URLs that can be easily shared, tweeted, or emailed to friends whcic is built using Google Cloud functions, Cloud hosting and firestore
CSS
1
star