👻
[Flutter]LayoutBuilderについての個人的まとめ
LayoutBuilder とは
LayoutBuilder
とは, 「レスポンシブをやりやすくするもの」
使い所
とかって言う時に便利に使える。
自分は実務ではこれ使わずに分岐によって(Vertical/Horizontal)Widgetを分けていた。それでもできる。だがLayoutBuilderを使えるようにした方が絶対いい
できることと、その使い方
できることで特に重要なのが
こと。
まず
-
builder:
を引数にとれる。これはbuildメソッドで、(Widget build(){~} でツリーを構築するメソッドで、)ウィジェットツリーを構築時(レイアウト)時に呼び出される -
builder:(){~} の引数として、constraintsが渡され、constraintsはそのwidgetの高さや幅に関する情報を扱える
-
constraintsはそのwidgetの高さや幅に関する情報を扱えるので、
constraints.メソッド
とすることで条件式を立てれたりして、幅が広がる。
上記の画像のコードのようにif (constraints.maxWidth < 600){~}
的な感じでif文とレイアウトの境界値でどんどん場合分けしていくことで数段レスポンシブが見やすくなると感じた。
[考察]
ただ上のようにIf文で分けた方が良いのは、レイアウトがだいぶ変わる時かなと思ふ。自分が実務の場合では使わなかったように、レイアウトが画面幅によってそんな変わらん感じなら、三項演算子とかでぱぱっとわけりゃいいのかもとか思ったであります。
以上です。間違えが見つかり次第、或いは知識がアップデートされ次第改訂していきます。🙏
Discussion