Je souhaite ignorer SnackBar
sur la méthode SnackBarAction
de onPressed
. J'ai essayé avec Navigator.of(context).pop();
mais SnackBar
ne rejette pas mon écran en noir à la place.
Voici le code:
void showInSnackBar(String value) {
homeScaffoldKey.currentState.showSnackBar(new SnackBar(content: new Text(value),
action: SnackBarAction(
label: 'Dissmiss',
textColor: Colors.yellow,
onPressed: () {
// Navigator.of(context).pop();
},
),));
}
Essayez d'utiliser la méthode hideCurrentSnackBar
onPressed: () {
homeScaffoldKey.currentState.hideCurrentSnackBar();
},
Plus d'informations ici: https://docs.flutter.io/flutter/material/ScaffoldState/hideCurrentSnackBar.html
Vous pouvez aussi utiliser,
Scaffold.of(context).hideCurrentSnackBar();
Soyez prudent lorsque vous utilisez context, utilisez le bon contexte.
Si vous souhaitez remplacer le snack-bar qui ne s'affiche qu'une seule fois,
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
final snackBar = SnackBar(content: Text("Hello, world"));
Et aussi,
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
Et aussi,
onPressed: () {
_scaffoldKey.currentState.removeCurrentSnackBar();
_scaffoldKey.currentState.showSnackBar(snackBar);
}