Skip to content
Go back

SizedBox の使い方 【Flutter】

by Aoi

SizedBox の使い方が知りたい! 」

本記事ではそんな要望にお答えします。

Flutterで頻出するウィジェットの、SizedBox について解説します。

基本的な使い方から、用意されているコンストラクタの紹介まで行います。

ぜひ読んでみてください!

基本的な使い方

SizedBox ウィジェットは、 heightで設定した高さ、widthで設定した幅を持つ無色の長方形を用意するウィジェットです。

child にてウィジェットを設定することで、 箱で大きさを制限しつつ、設定したウィジェットを箱の中に表示することができます。

SizedBox(
  height: 50,
  width: 100,
  child: Text('a'),
),

height, width, child に対する設定は省略することができます。 height, widthのみを設定して、ウィジェット間の距離を空けるのに利用することが可能です。

コンストラクタの紹介

SizedBoxにはいくつかのコンストラクタが用意されています。 これらについて紹介します。

SizedBox.expand

SizedBox.expandは親のウィジェットが許す限り最大の大きさの箱を用意するSizedBoxです。 height, widthにはそれぞれdouble.infinityが設定されます。

const SizedBox.expand({ super.key, super.child })
    : width = double.infinity,
      height = double.infinity;

SizedBox.shrink

SizedBox.shrink は高さも幅も0.0の箱を用意するSizedBoxです。 height, widthにはそれぞれ0.0が設定されます。

const SizedBox.shrink({ super.key, super.child })
    : width = 0.0,
      height = 0.0;

SizedBox.fromSize

SizedBox.fromSizesizeプロパティにて設定したSizeインスタンスを基にして用意した 高さと幅をもつSizedBoxです。 height, widthにはそれぞれsizeheight, widthが設定されます。

SizedBox.fromSize({ super.key, super.child, Size? size })
    : width = size?.width,
      height = size?.height;

SizedBox.square

SizedBox.squaredimensionプロパティにて設定したdoubleの値を 高さと幅に持つ正方形を用意するSizedBoxです。 height, widthにはそれぞれdimensionの値が設定されます。

const SizedBox.square({super.key, super.child, double? dimension})
    : width = dimension,
      height = dimension;

まとめ

本記事ではFlutterで頻出するウィジェットのSizedBoxについて解説しました。

基本的な使い方から、用意されているコンストラクタの紹介まで行いました。

いかがだったでしょうか?

SizedBoxは本当によく利用する基本的なウィジェットとなります。

ぜひ利用方法を覚えて活用してみてください!

本記事があなたのアプリ開発の一助となれば幸いです。

Flutterを一緒に学んでみませんか? Flutter エンジニアに特化した学習コミュニティ、Flutter大学への入会は、 以下の画像リンクから。

編集後記(2022/11/12)

SizedBoxについての記事でした。

このようなBox系のウィジェットはContainerを始めとしてColoredBox等、 本当に様々なものがあります。

これらについて紹介した上で違いについてまとめられたら良いな、 と今回の記事を作成していて思いました。

基礎的な記事のためあまり興味を惹かないかもしれませんが、 ぜひお楽しみにしていてください。

週刊Flutter大学では、Flutterに関する技術記事、Flutter大学についての紹介記事を投稿していきます。 記事の更新情報はFlutter大学Twitterにて告知します。 ぜひぜひフォローをお願いいたします。


Aoiのプロフィール画像

Aoi

ライター兼個人Flutter開発者 Flutterにて5つのアプリを開発。QiitaではFlutter記事にて約500のContributionを獲得。

Share this post on:

Previous Post
Flutter ニュース 【2022年11月第2週】
Next Post
【 Placeholder 】場所取り用のウィジェットを使おう! 【 Flutter 】