3

如何构建两个垂直显示的列表,以便构建一个项目列表,然后按垂直顺序排列第二个。

4

1 回答 1

8

您可以通过将 CustomScrollView 与SliverList一起使用来实现此目的。

您的解决方案将如下所示:

CustomScrollView(
  slivers: <Widget>[
    //list 1 (using builder)
    SliverList(
        delegate: SliverChildBuilderDelegate(
              (context, i) {
            return ListTile(...); // HERE goes your list item
          },
          childCount: 3,
        ),
    ),
    //list 2 (using list of widgets)
    SliverList(
        delegate: SliverChildListDelegate([
          ListTile(..),
          ListTile(..), //HERE goes your list item
        ]),
    ),
  ],
),

当您向下滚动时,这将建立一个又一个列表。在上面的示例中,我使用了两种可用于构建列表的委托。

  1. SliverChildBuilderDelegate - 需要一个构建器方法,该方法将被调用来为每个列表项构建小部件。它与ListView.builder()
  2. SliverChildListDelegate - 需要一个小部件列表,这将是 SliverList 的项目。它与ListView(children: ...)
于 2019-01-31T08:33:16.100 回答