toast_widget 0.1.0 copy "toast_widget: ^0.1.0" to clipboard
toast_widget: ^0.1.0 copied to clipboard

discontinued

Shwoing Toast in Flutter Widgets.

example/lib/main.dart

import 'dart:async';
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:toast_widget/toast_widget.dart';

StreamController<bool> isLightTheme = StreamController();

main() {
  runApp(MainApp());
}

class MainApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return StreamBuilder<bool>(
        initialData: true,
        stream: isLightTheme.stream,
        builder: (context, snapshot) {
          return MaterialApp(
              theme: snapshot.data ? ThemeData.light() : ThemeData.dark(),
              debugShowCheckedModeBanner: false,
              home: Scaffold(
                  appBar: AppBar(title: Text("Toast Widget Example")),
                  body: ToastWidget(child: SettingPage())));
        });
  }
}

class SettingPage extends StatefulWidget {
  @override
  _SettingPageState createState() => _SettingPageState();
}

class _SettingPageState extends State<SettingPage> {
  String userName = "Press Fetch User Button";

  @override
  Widget build(BuildContext context) {
    return Padding(
        padding: const EdgeInsets.all(16.0),
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Spacer(flex: 1),
              Row(mainAxisAlignment: MainAxisAlignment.center, children: <
                  Widget>[
                RaisedButton(
                    color: Colors.blue,
                    child: Text("Light Theme",
                        style: TextStyle(color: Colors.white)),
                    onPressed: () {
                      Toast.show("Light Theme Applied", mode: ToastMode.DEBUG);
                      isLightTheme.add(true);
                    }),
                RaisedButton(
                    color: Colors.black,
                    child: Text("Dark Theme",
                        style: TextStyle(color: Colors.white)),
                    onPressed: () {
                      Toast.show("Dark Theme Applied", mode: ToastMode.ERROR);
                      isLightTheme.add(false);
                    }),
              ]),
              Spacer(
                flex: 1,
              ),
              Padding(
                padding: const EdgeInsets.only(top: 32),
                child: RaisedButton(
                  color: Colors.blue,
                  onPressed: () async {
                    var name = await getUserNameFromBackend();
                    setState(() {
                      userName = name;
                    });
                  },
                  child:
                      Text("Fetch User", style: TextStyle(color: Colors.white)),
                ),
              ).enableToast(),
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text("User Name : $userName"),
              ),
              Spacer(
                flex: 1,
              ),
            ],
          ),
        ));
  }
}

Future<String> getUserNameFromBackend() async {
  await Future.delayed(Duration(milliseconds: 400));
  var success = Random().nextInt(30) % 4 != 0;
  Toast.show(success ? "User Fetch Success" : "User Fetch Failed",
      mode: success ? ToastMode.INFO : ToastMode.ERROR,
      duration: Duration(milliseconds: 500));
  return success ? "Laxman Bhattarai" : "User Fetch Error";
}
0
likes
20
pub points
0%
popularity

Publisher

unverified uploader

Shwoing Toast in Flutter Widgets.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on toast_widget