📐
Flutterレイアウトシステム
Row、Column、Stack、FlexでUI配置
FlutterレイアウトはCSS Flexboxに似ていますが、全てがウィジェットベースです。
Row(横配置)、Column(縦配置)、Stack(重ね配置)が基本3要素で、ExpandedとFlexibleで残りスペースを分配します。
レイアウトのコア規則:親が子に制約条件(Constraints)を渡し、子はその中で自分のサイズ(Size)を決定し、親が最終位置を定めます。
実装ステップ
1
Row/Columnで基本的な水平/垂直配置を練習
2
Expanded/Flexibleで比率ベースのスペース分配
3
Stack + Positionedでオーバーレイ UI実装
4
LayoutBuilderとMediaQueryでレスポンシブレイアウト実装
メリット
- ✓ CSSより予測可能なレイアウト動作
- ✓ DevToolsでレイアウトデバッグが視覚的に容易
デメリット
- ✗ Unboundedエラー(Column内のListViewなど)初心者がよく遭遇
- ✗ ネストが深くなると可読性低下
ユースケース
ログイン/会員登録フォームレイアウト
ダッシュボードカードグリッド配置