どうも、ちょげ(@chogetarou)です。
SnackBarを上に表示する方法を紹介します。
方法

SnackBarを上に表示するには、SnackBarの引数「margin」を使います。
具体的には、SnackBarの引数「margin」で、SnackBarの下部分に大きなマージンを指定します。
また、引数「behavior」には、SnackBarBehaivor.floatingを指定します。
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Snackbar message'),
margin: EdgeInsets.only(
bottom: /*大きなマージン*/,
),
),
);
画面の大きさより少し小さなマージンを指定すれば、SnackBarが上に表示されます。
使用例
以下は、使用例です。

@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Snackbar message'),
behavior: SnackBarBehavior.floating,
margin: EdgeInsets.only(
bottom: MediaQuery.of(context).size.height - 100,
),
),
);
},
child: Text('Show'),
),
),
);
}
コメント