web-dev-qa-db-ja.com

Flutterの折りたたみ可能なリストウィジェットのオプションは何ですか?

私のプロジェクトではいくつかのリストをトピックごとに折りたたむ必要があり、これをゼロから実装する必要があるのか​​、それともフラッターのコンポーネントを使用する必要があるのか​​疑問に思っています。このコンポーネントは存在しますか?

前もって感謝します :)

9
Jota Renan

Flutterギャラリーには、アコーディオンのようなリストに関連する2つの例があります。

拡張パネルデモ2レベルリストデモ

拡張パネルのデモはおそらくあなたが望むものです。もしそうなら、デモが ExpansionPanel をどのように活用し、headerBuilderbodyを使用するかを見てください。これを拡張して、ヘッダーと本文を必要なだけ複雑にすることができます。ギャラリーデモは DemoItem ヘルパークラスを追加します。このパターンを使用するか、独自のデザインを作成できます。

以下は、コールバックとExpansionPanelListsのリストを渡すことにより、DemoItemを使用したデモを示すスニペットです。

        child: new ExpansionPanelList(
          expansionCallback: (int index, bool isExpanded) {
            setState(() {
              _demoItems[index].isExpanded = !isExpanded;
            });
          },
          children: _demoItems.map((DemoItem<dynamic> item) {
            return new ExpansionPanel(
              isExpanded: item.isExpanded,
              headerBuilder: item.headerBuilder,
              body: item.build()
            );
          }).toList()
        ),

enter image description here

enter image description here

14
Ashton Thomas