如果页面没有溢出屏幕大小,是否可以禁用ListView Scroll?

我一直使用ListView来避免屏幕溢出,但是当页面内容小于屏幕时,我可以看到结束滚动动画,这种情况下如何禁用滚动,如果屏幕太小可以滚动呢??

推荐答案

我认为最好的方法是使用SingleChildScrollView:

当您有单个框时,此小部件非常有用,该框通常 完全可见,例如时间 Select 器中的钟面,但您 如果容器变得太小,需要确保可以滚动 在一个轴上(滚动方向).

而不是使用ListView,只需使用Column并将其放入SingleChildScrollView:

    SingleChildScrollView(
        child: Column(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[/**/],
        ),
    )

或者,如果您出于某种原因需要使用ListView,您可以在NeverScrollableScrollPhysics中使用shrinkWrap:

    SingleChildScrollView(
        child: ListView(
            shrinkWrap: true,
            physics: NeverScrollableScrollPhysics(),
            children: <Widget>[/**/],
        ),
    )

Dart相关问答推荐

polymer.dart 中的@observable 和@published 有什么区别?

Card宽度与父级匹配

如何从 Polymer Dart 触发自定义事件?

Flutter 使用拖动和按钮单击扩展 TextField

如何在 Flutter 中渲染单个像素?

替换 Flutter 中的片段等小部件

Flutter:并非所有本地化代表都支持应用程序的语言环境

如何在Flutter应用程序中使用套接字?

Dart-对base64字符串进行编码和解码

将DateTime转换为ISO 8601

无法使用 Flutter 调用 Localhost,将随机端口分配给 HTTP GET 调用

GestureDetector onTap 卡

如何在dart列表中找到一个元素

dart:io 中带有 json 内容类型的 Http POST 请求

Dart 中 await for 和 listen 的区别

在 Dart 中打开类类型

Dart 中的with关键字

Dart 中的外部是什么意思?

如何在 Dart 中使用 Switch Case 语句

Dart lambda/shortland 函数混淆