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

outdated

Showing Info Badge in Flutter Widgets like Toast.

example/lib/main.dart

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

import 'package:flutter/material.dart';
import 'package:toast_badge/toast_badge.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 Badge Example")),
                  body: ToastBadge(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: () {
                          ToastBadge.show("Light Theme Applied",
                              mode: ToastMode.DEBUG);
                          isLightTheme.add(true);
                        }),
                    RaisedButton(
                        color: Colors.black,
                        child: Text("Dark Theme",
                            style: TextStyle(color: Colors.white)),
                        onPressed: () {
                          ToastBadge.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)),
                ),
              ).enableBadge(),
              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;
  ToastBadge.show(
    success ? "User Fetch Success" : "User Fetch Failed",
    mode: success ? ToastMode.INFO : ToastMode.ERROR,
  );
  return success ? "Laxman Bhattarai" : "User Fetch Error";
}
1
likes
20
pub points
0%
popularity

Publisher

verified publishererluxman.com

Showing Info Badge in Flutter Widgets like Toast.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on toast_badge