几个具有相同滚动的Listview

时间:2019-11-24 17:40:57

标签: flutter flutter-layout

如何在Flutter中使用多个Listview,但同时使用相同的滚动条?

我的想法是这样的:

ListTile
ListTile
ListTile
...

Some content

ListTile
ListTile
ListTile
...

我可以将这些内容移动到Listview本身中,但会有些混乱,我希望使用其他小部件

1 个答案:

答案 0 :(得分:1)

您有一些选择,一个与SingleChildScrollViewColumn一起使用,并删除列表滚动,或者您也可以使用Slivers。

这是使用第一个选项的示例:

Scaffold(
      body: SingleChildScrollView(
        child: Column(
          children: [
            ListView.builder(
              shrinkWrap: true,
              physics: const NeverScrollableScrollPhysics(),
              itemBuilder: (_, index) => ListTile(
                title: Text("Group 1 : Item $index"),
              ),
              itemCount: 9,
            ),
            Padding(
              padding: const EdgeInsets.all(8.0),
              child: Text("Some content"),
            ),
            ListView.builder(
              shrinkWrap: true,
              physics: const NeverScrollableScrollPhysics(),
              itemBuilder: (_, index) => ListTile(
                title: Text("Group 2 : Item $index"),
              ),
              itemCount: 9,
            ),
          ],
        ),
      ),
    );

如果您想使用Slivers,请查看Emily Fortuna的这篇精彩文章; https://medium.com/flutter/slivers-demystified-6ff68ab0296f