[Flutter]Rowのサイズを親ウェジェットとの比率で設定するには?

Flutter

どうも、ちょげ(@chogetarou)です。

Rowのサイズを親ウェジェットとの比率で設定する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Rowのサイズを親ウェジェットとの比率で設定するには、FractionallySizedBoxを使います。

まず、RowをFractionallySizedBoxでラップします。

そして、FractionallySizedBoxの引数「heightFactor」に高さの比率、引数「widthFactor」に横幅の比率を指定します。

FractionallySizedBox(
  heightFactor: /*高さの比率*/,
  widthFactor: /*横幅の比率*/,
  child: Row(
    children: [
      ・・・
    ],
  ),
),

FractionallySizedBoxを使えば、Rowのサイズを親ウェジェットとの比率で設定することが出来ます。

使用例

以下は、使用例です。

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SizedBox(
          width: 300,
          height: 300,
          child: FractionallySizedBox(
            heightFactor: 0.65, //高さは65%
            widthFactor: 0.4, //横幅は40%
            child: Row(
              children: [
                Expanded(
                  child: Container(
                    color: Colors.blue,
                  ),
                ),
                Expanded(
                  child: Container(
                    color: Colors.yellow,
                  ),
                ),
                Expanded(
                  child: Container(
                    color: Colors.pink,
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }

コメント

タイトルとURLをコピーしました