一尘不染

如何将列表视图放在SingleChildScrollView内,但防止它们单独滚动?

flutter

我有一个像这样的小部件树:

SingleChildScrollView
   Column
     Container
       ListView(or GridView)

问题是,当我的小部件树如上时,它给我错误

需要油漆

所以我像这样改变我的小部件树:

Column
     Container
       ListView(or GridView)

但在这种情况下,ListView或GridView部分会分别滚动,而我希望整个窗口小部件树都可以滚动。您认为我如何实现?


阅读 332

收藏
2020-08-13

共1个答案

一尘不染

正如其他答案所建议的那样,您可以通过设置来做到这一点shrinkWrap: true, physics: NeverScrollableScrollPhysics(),但是构建收缩包装的列表视图比构建普通的列表视图更昂贵,我认为在列表上使用map()是一个好主意。

Column(
  children: <Widget>[
    ...itemList.map((item) {
       return Text(item);
    }).toList(),
  ],
),
2020-08-13