SnackBar
のSnackBarAction
メソッドのonPressed
を却下したい。 Navigator.of(context).pop();
を試してみましたが、SnackBar
が画面を閉じず、代わりに黒くなります。
ここにコードがあります:
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();
},
),));
}
hideCurrentSnackBar
メソッドを使用してみてください
onPressed: () {
homeScaffoldKey.currentState.hideCurrentSnackBar();
},
詳細はこちら: https://docs.flutter.io/flutter/material/ScaffoldState/hideCurrentSnackBar.html
あなたも使うことができます、
Scaffold.of(context).hideCurrentSnackBar();
contextを使用するときは注意してください。正しいコンテキストを使用してください。
一度だけ表示されるスナックバーを置き換える場合は、
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
final snackBar = SnackBar(content: Text("Hello, world"));
そしてまた、
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
そしてまた、
onPressed: () {
_scaffoldKey.currentState.removeCurrentSnackBar();
_scaffoldKey.currentState.showSnackBar(snackBar);
}