[Flutter]SnackBarを上に表示するには?

Flutter

どうも、ちょげ(@chogetarou)です。

SnackBarを上に表示する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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'),
        ),
      ),
    );
  }

コメント

タイトルとURLをコピーしました