使用NeverScrollableScrollPhysics来滚动GridView

问题描述 投票:1回答:1

我的应用程序中有一个页面,如下图所示。顶部有一个容器。接下来是一个带水平滚动的ListView。在GridView下面,物理设置为NeverScrollableScrollPhysics。后者是因为网格应该与页面一起滚动,然后按页面/无限加载数据。我尝试使用ScrollController但不确定如何在此设置中正确连接它。 ListView和GridView具有单独的流,用于监听数据。我试图在带有ScrollController和监听器的Stateful小部件中创建GridView,但没有运气激活滚动事件。它应该以某种方式连接到页面滚动因为我在网格上有NeverScrollableScrollPhysics吗?

enter image description here

更新:我想我找到了解决方案。外部ListView有一个控制器,我设置为ScrollController。我是监听器,当大小几乎是网格的大小时,我会触发加载更多的网格项。这样我可以保留GridView,否则我认为@Lucas的解决方案可能会很好。根据文档,与SingleChildScrollView https://docs.flutter.io/flutter/widgets/SingleChildScrollView-class.html相比,ListView应该表现更好

flutter
1个回答
0
投票

有很多方法可以实现这一目标。但不知何故,你必须避免嵌套垂直滚动。

我会使用ListView.builder作为所有内容的父级,如果索引为0,使用顶部Column和水平Container构建一个ScrollView,否则用两个孩子(这而不是Row)构建一个GridView

© www.soinside.com 2019 - 2024. All rights reserved.