Skip to main content
added 1867 characters in body
Source Link
Collin Jackson
  • 117.4k
  • 31
  • 229
  • 154

You could use a StatefulWidget and call showSnackBar in the initState of your State. You will need to add a short delay before triggering showSnackBar. Here is a code sample.

import 'dart:async'; import 'package:flutter/material.dart'; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( home: new HomePage(), ); } } class HomePage extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( floatingActionButton: new FloatingActionButton( child: new Icon(Icons.developer_board), onPressed: () { Navigator.of(context).push( new MaterialPageRoute(builder: (_) => new MySecondPage()), ); }, ), ); } } class MySecondPage extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text('Developer Mode'), ), body: new MySecondPageBody(), ); } } class MySecondPageBody extends StatefulWidget { @override State createState() => new MySecondPageBodyState(); } class MySecondPageBodyState extends State<MySecondPageBody> { @override void initState() { new Future<Null>.delayed(Duration.ZERO, () { Scaffold.of(context).showSnackBar( new SnackBar(content: new Text("You made it! Congrats.")), ); }); super.initState(); } @override Widget build(BuildContext context) { return new Center( child: new Text('You are now a developer.'), ); } } 

You could use a StatefulWidget and call showSnackBar in the initState of your State.

You could use a StatefulWidget and call showSnackBar in the initState of your State. You will need to add a short delay before triggering showSnackBar. Here is a code sample.

import 'dart:async'; import 'package:flutter/material.dart'; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( home: new HomePage(), ); } } class HomePage extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( floatingActionButton: new FloatingActionButton( child: new Icon(Icons.developer_board), onPressed: () { Navigator.of(context).push( new MaterialPageRoute(builder: (_) => new MySecondPage()), ); }, ), ); } } class MySecondPage extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text('Developer Mode'), ), body: new MySecondPageBody(), ); } } class MySecondPageBody extends StatefulWidget { @override State createState() => new MySecondPageBodyState(); } class MySecondPageBodyState extends State<MySecondPageBody> { @override void initState() { new Future<Null>.delayed(Duration.ZERO, () { Scaffold.of(context).showSnackBar( new SnackBar(content: new Text("You made it! Congrats.")), ); }); super.initState(); } @override Widget build(BuildContext context) { return new Center( child: new Text('You are now a developer.'), ); } } 
Source Link
Collin Jackson
  • 117.4k
  • 31
  • 229
  • 154

You could use a StatefulWidget and call showSnackBar in the initState of your State.