[Flutter]ListViewがColumn内で使えないのはなぜ?

Flutter

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

ListViewがColumn内で使えない理由を解説します。

スポンサーリンク

理由

プログラマー, プログラミング, コード, 仕事, コンピューター

ListViewがColumn内で使えないのは、どちらも最大限まで表示スペースを取得しようとするからです。

まず、ListViewが最大限まで表示スペースを取得しようとします。

ListViewに合わせて、Columnも最大限まで表示スペースを取得しようとします。

ListViewは、まだ表示スペースを取得できると、更に表示スペースを取得しようとします。

それに合わせて、Columnも・・・・。

というように、表示するスペースを求めて、無限ループが起こるのです。

そのせいで、重要である中身が描画されなくなります。

なので、厳密には使えないというよりは、2つのウェジェットの特徴が良くない方向に噛み合ってしまったのです。

まとめ

ListViewがColumn内で使えないのは、どちらのウェジェットも表示するためのスペースを最大限まで取得しようとするからです。

コメント

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