Flutter

Flutter SizedBoxの使い方|余白・固定サイズ・スペーサーの基本

FlutterのSizedBoxを初心者向けに解説します。固定サイズ、余白、Widget間のスペース、Containerとの違いを実装例で整理します。

この記事の目次
  1. この記事の結論
  2. 固定サイズを指定する
  3. Widget間の余白を作る
  4. 横方向のスペースを作る
  5. Containerとの違い
  6. 実装後に確認すること
  7. よくあるつまずき
  8. 次に読む記事
  9. まとめ

SizedBoxは、Flutterで固定サイズや余白を作るためのシンプルなWidgetです。Containerでも同じことはできますが、サイズや余白だけが目的ならSizedBoxの方が意図が明確になります。

この記事の結論

SizedBoxは「幅・高さを決める」「空白を作る」ために使います。装飾が必要ならContainer、余白だけならSizedBoxと使い分けると読みやすくなります。

固定サイズを指定する

SizedBox(
  width: 200,
  height: 80,
  child: ElevatedButton(
    onPressed: () {},
    child: const Text("ボタン"),
  ),
)

Widget間の余白を作る

ColumnやRowの中で、ちょっとした余白を作るならSizedBoxが分かりやすいです。

Column(
  children: const [
    Text("タイトル"),
    SizedBox(height: 16),
    Text("本文"),
  ],
)

横方向のスペースを作る

Row(
  children: const [
    Icon(Icons.info),
    SizedBox(width: 8),
    Text("お知らせ"),
  ],
)

Containerとの違い

  • SizedBox:サイズや空白だけを表したい時
  • Container:背景色、枠線、角丸、余白などもまとめたい時
  • Padding:内側余白だけを明示したい時
  • Spacer:RowやColumn内の残り空間を使いたい時

実装後に確認すること

  • 装飾が不要なのにContainerを使っていないか
  • 縦余白と横余白を分けて考えているか
  • 親Widgetの制約でサイズが無視されていないか
  • 可変レイアウトでは固定値を使いすぎていないか

よくあるつまずき

  • 空白目的でContainerを多用する
  • 固定サイズを入れすぎて小さい画面ではみ出す
  • Row内で横幅を取りすぎる
  • SizedBox.expandの意味を知らずに使う

次に読む記事

まとめ

SizedBoxは、Flutterのレイアウトを読みやすくする基本Widgetです。余白や固定サイズを明示したい場面で使い、装飾が必要な時はContainerと使い分けましょう。