Flutter:如何避免ListView动态滚动(或更改其物理特性)

时间:2019-05-24 10:54:41

标签: flutter flutter-animation

我有一个ListView小部件,并且我希望根据某些逻辑使其可滚动或不滚动。

NeverScrollableScrollPhysics可以防止滚动,但是由于物理参数是最终的,所以我以后不能更改它。

我认为应该使用状态来通过不同的物理方法重建ListView,但是我想这是一个非常繁重的操作,可以重建整个ListView。

有人知道或如何处理这种情况,在这种情况下,用户在完成其他用户操作之前不应该滚动ListView?

2 个答案:

答案 0 :(得分:0)

更改docker-compose.yml并使用physics应该可以解决问题,如果您不想使用它,可以使用setState小部件并在上方放置Stack您的Container,以避免互动,请检查我制作的以下示例:

ListView

答案 1 :(得分:0)

您可以在ListView中有条件地应用物理学:

shrinkWrap: true,
physics: !isScrolable? const NeverScrollableScrollPhysics(): 
         const AlwaysScrollableScrollPhysics(),

然后,在需要时可以更改状态以修改变量的值。


setState(() {
    isScrolable = !isScrolable;
});