[Flutter]ListViewを入れ子にするには?

Flutter

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

ListViewの中にListViewを指定して、入れ子にする方法を紹介します。

スポンサーリンク

方法

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

ListViewを入れ子にする方法は、2つあります。

引数

1つは、ListViewの引数を使う方法です。

まず内側のリストビューの引数「shrinkWrap」に「true」を指定します。

そして、Physicsに「NeverScrollableScrollPhysics」を指定します。

ListView(
  children: [
    ListView(
      shrinkWrap: true,
      physics: NeverScrollableScrollPhysics(),
      children : [],
    )
  ],
),

この方法だと内側のリストビュー自体をスクロールすることが出来ません。

Container

もう1つは、Containerウェジェットを使う方法です。

まず、「Container」の「child」にリストビューを指定します。

そして、Containerの引数「height」に高さを設定します。

ListView(
  children: [
    Container(
      height: /*高さ*/,
      child: ListView(
        children : []
      ),
    )
  ],
),

この方法だと外側のリストビューと内側のリストビューを別々でスクロールすることが出来ます。

まとめ

リストビューを入れ子にする方法は、次の2つです。

  • 引数(shrinkWrap, physics)を使う方法
  • Containerを使う方法

コメント

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