本エントリではSnackBar
の使用方法について説明する。
SnackBarとは
SnackBar
はアプリの画面下部に数秒間通知を表示するウィジェット。
以下の動画を見ると雰囲気が掴める。
SnackBarの作成・表示方法
表示方法
SnackBar
はScaffold
ウィジェットとセットで使用する。
まず表示するSnackBar
ウィジェットを作成する。
この時content
プロパティに渡したウィジェットが表示される。
次にSnackBar
を表示するためScaffoldMessenger.of(context).showSnackBar(_snackBar)
をコールする。
今回はElevatedButton
をタップすると表示される仕様にする。
実際のアプリの動作は次の様になる。
デザインの変更
SnackBar
はプロパティをいじることでデザインを変更することができる。
以下よりデザインの変更方法を説明していく。
ボタンあり
次の様なデザインのSnackBar
を作成する。
テキストの右端にボタンを表示することができる。
今回は例としてcloseボタンを押すと、SnackBar
が即消える機能を実装した。(デフォルトでは4秒間表示される)
実際の動作とコードは以下。
ポイントは以下。
Scaffold
のBuildContext
を呼び出すため、SnackBar
をボタンのonPressed
内に直接記述SnackBar
を即閉じるためにScaffoldMessenger.of(context).hideCurrentSnackBar()
をコール
表示時間の調整
SnackBar
の表示時間はduration
プロパティを変更すれば良い。
例として表示時間を1秒間に指定した場合、コードは以下の様になる。
背景色の変更
背景色はbackgroundColor
で変更できる。
例として背景色を緑にした場合、コードは以下の様になる。
サイズの変更
SnackBar
のサイズを変更するには、content
プロパティに渡すウィジェットの高さを変えれば良い。
例として高さを100にしたい場合、次の様にSizedBox
などのheight
で調節可能。
角の丸さ調整
SnackBar
の角を丸くしたい場合、shape
プロパティで調整できる。