如何使所有列表视图同时滚动?

时间:2019-06-05 09:06:57

标签: flutter dart

我正在创建图像所示的应用程序。我在同时滚动所有部分时遇到问题。

到目前为止我所做的:

我在ONE listbuilder中添加了“旅程搜索详细信息部分和出站部分,以及出站结果”。 wrapContent包含旅程搜索详细信息部分和出站部分

List<Widget> result = [];

final listOfFirstResults = new Expanded(
  child: new ListView.builder(
    itemCount: (planets?.length ?? 0) + 1,
    itemBuilder: (context, index) {
      if (index == 0) {
        return wrapContent;
      } else {
        return new JourneyResult(planets[index - 1]);
      }
    }
  )
);

我添加了“返回详细信息”部分,并在另一个列表视图中返回结果。 (可以将其附加到现有列表视图中,但我不知道该怎么做。)

final listOfSecondResults = new Expanded(
  child: new ListView.builder(
    itemCount: (planets?.length ?? 0) + 1,
    itemBuilder: (context, index) {
      if (index == 0) {
        return tripListSecondHeader;
      } else {
        return new JourneyResult(planets[index - 1]);
      }
    }
  )
);

我已将它们添加到列表中。

result.add(listOfFirstResults);
result.add(listOfSecondResults);

但是我不能让它们同时滚动。

return new Expanded(
  child: new Container(
    child: new Column(
      children: <Widget>[result[0], result[1]],
    ),
  ),
);

Wanted interface

2 个答案:

答案 0 :(得分:1)

看看SliverList小部件。它允许您一次滚动多个列表视图。

或者我可能误解了这个问题,而您想同步滚动它们?

参考文献:

答案 1 :(得分:0)

我不确定我是否理解您的问题,但是如果您想同时滚动2个ListView,只需创建一个ScrollController并将其作为参数传递给每个ListView。