[Flutter]ColumnでcrossAxisAlignmentが機能しない時の対処法

Flutter

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

「ColumnのcrossAxisAlignmentを設定したのに上手く機能しない」
という人に向けて、この記事ではその対処法を紹介します。

スポンサーリンク

対処法

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

ColumnのcrossAxisAlignmentが機能しないのを対処するには、SizedBoxもしくはContainerを使います。

まず、ColumnをSizedBoxもしくはContainerでラップします。

そして、SizedBoxもしくはContainerの引数「width」に横幅を指定します。

SizedBox( //Containerでも同じ
  width: /*横幅*/,
  child: Column(・・・),
),

SizedBoxもしくはContainerを使うことで、ColumnのcrossAxisAlignmentが機能するようになります。

crossAxisAlignmentが機能しないのは、Columnの横幅が常に最小になるようになっているからです。

そこで、機能させるためにColumnの横幅を、SizedBoxやContainerで設定してあげるのです。

使用例

以下は、使用例です。

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        width: double.infinity,
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.end,
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Container(
              height: 100,
              width: 100,
              color: Colors.blue,
            ),
            Container(
              height: 100,
              width: 100,
              color: Colors.green,
            ),
            Container(
              height: 100,
              width: 100,
              color: Colors.pink,
            ),
          ],
        ),
      ),
    );
  }

コメント

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