私のプロジェクトではいくつかのリストをトピックごとに折りたたむ必要があり、これをゼロから実装する必要があるのか、それともフラッターのコンポーネントを使用する必要があるのか疑問に思っています。このコンポーネントは存在しますか?
前もって感謝します :)
Flutterギャラリーには、アコーディオンのようなリストに関連する2つの例があります。
拡張パネルのデモはおそらくあなたが望むものです。もしそうなら、デモが ExpansionPanel をどのように活用し、headerBuilder
とbody
を使用するかを見てください。これを拡張して、ヘッダーと本文を必要なだけ複雑にすることができます。ギャラリーデモは DemoItem ヘルパークラスを追加します。このパターンを使用するか、独自のデザインを作成できます。
以下は、コールバックとExpansionPanelList
sのリストを渡すことにより、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()
),