如何以正确的行为实现嵌套的可滚​​动对象

时间:2019-07-19 11:09:24

标签: flutter scroll flutter-layout

问题 :在Flutter中,我想创建一个可滚动屏幕,其中包含另一个也可滚动的视图。

问题

1)我看到了一些建议,即可以简单地使用具有属性的嵌套ListViews

physics: ClampingScrollPhysics(),
shrinkWrap: true,

但是内部ListViews 不可滚动 ,它们只是扩展以容纳其子级,并且基本上充当普通的Column小部件。因此,我们最终得到一个包含列表的可滚动屏幕,而不是一个包含可滚动元素的可滚动屏幕。您可能会认为可以通过将内部ListViews包裹在固定高度的Container中来解决,但这虽然允许内部列表可滚动,但是却阻止了父级(屏幕)可滚动!

2)A similar question was asked here,在接受的答案中,我们发现使用NestedScrollView看起来像是正确的行为,但是存在一个大问题。 当您向下滚动父级滚动条时先于子级滚动条,因此只有当父级不再滚动时,内部子级才开始滚动。这种行为显然是有问题的,如果父级足够长,则内部子级可滚动对象将在有机会滚动之前从视图中消失!

0 个答案:

没有答案