Comme vous pouvez le voir mon bouton est à l'intérieur de l'Échafaudage de son corps. Mais j'ai cette exception:
Échafaudage.de() est appelé avec un contexte qui ne contiennent pas d'un Échafaudage.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: HomePage(),
);
}
}
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('SnackBar Playground'),
),
body: Center(
child: RaisedButton(
color: Colors.pink,
textColor: Colors.white,
onPressed: _displaySnackBar(context),
child: Text('Display SnackBar'),
),
),
);
}
}
_displaySnackBar(BuildContext context) {
final snackBar = SnackBar(content: Text('Are you talkin\' to me?'));
Scaffold.of(context).showSnackBar(snackBar);
}
EDIT:
J'ai trouvé une autre solution à ce problème. Si nous donnons un Échafaudage d'une clé qui est GlobalKey, nous pouvons afficher la Buvette comme suit, sans besoin d'envelopper notre corps avec le Générateur de widget. Le widget de retour Échafaudage doit être Dynamique widget mais.:
_scaffoldKey.currentState.showSnackBar(snackbar);