Flutter 中的可折叠列表小部件有哪些选项?

What are the options of collapsable list widgets in Flutter?

我需要在我的项目中按主题折叠一些列表,我想知道我是需要从零开始实现它还是使用 flutter 中的组件。这个组件存在吗?

提前致谢:)

Flutter Gallery 有两个可能与您的 accordion-like 列表相关的示例。

Expansion Panel Demo & Two-level List Demo

扩展面板演示可能就是您想要的。如果是这样,请查看演示如何利用 ExpansionPanel and uses a headerBuilder and body. You can extends this to make the header and bodies as complex as you need. The Gallery demo adds a DemoItem 帮助程序 class。您可以使用此模式或想出您自己的设计。

这是一个片段,通过传递回调和 DemoItems 的列表显示使用 ExpansionPanelList 的演示:

        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()
        ),