所以,我在Flutter 中有CustomScrollView分,因为我使用的是SliverAppBar分.主要可滚动正文内容是由ListView.builder()生成的窗口小部件列表.一切都运行得很完美,但问题是,我希望如此.我希望当没有足够的小部件达到最小高度时,它将只是一个空格.

我想使用Containerconstraints,但它抛出错误,一个银小部件在另一个小银小部件中:

CustomScrollView(
  slivers: [
    SliverAppBar(),
    SliverToBoxAdapter(
      child: ConstrainedBox(
        constraints: BoxConstraints(minHeight: minBodyHeight),
        padding: EdgeInsets.only(left: 16.0, right: 16.0, bottom: 20.0),
        child: ListView.builder(
          itemCount: widgetList.length,
          itemBuilder: (context, index) => widgetList[index],
        )
      )
    )
  ],
),

然后我试着只使用Column个小部件,但当我的小部件列表非常大时,加载需要很长时间:

CustomScrollView(
  slivers: [
    SliverAppBar(),
    SliverToBoxAdapter(
      child: Container(
        constraints: BoxConstraints(minHeight: minBodyHeight),
        child: widgetList
      )
    )
  ]
)

正是因为这个原因,我想用ListView.builder().有没有办法使用它来设置生成的小部件所占据的区域的最小高度?

任何变通方法也会有所帮助.

推荐答案

在ListView.Builder()中使用此属性

shrinkWrap: true,

它控制ListView是否应该根据其内容的大小调整其大小.它用于确定ListView是应该占用尽可能多的空间(当设置为False时),还是只占用其子级所需的空间(当设置为True时).

还设置了

physics: NeverScrollableScrollPhysics(),

Flutter相关问答推荐

ShaderMask上的文本渐变问题

Flutter—如何在Riverpod中使用全类状态?

将目标平台设置为Flutter 构建

Flutter 蜂窝-检索非基元数据类型列表

Flutter 翼doctor 显示的错误,我似乎不能修复.问题:系统32、Android工具链、Windows 10 SDK

如何在表格日历标题下方添加文本?

Flutter 隔离.使用多个参数运行

如何在抖动中预加载一条路由,或者即使在屏幕外也保持加载小工具?

如何在Flutter 中共享选定文本

Riverpod Provider.family 和 HookConsumerWidget 不刷新 UI

如何使用providerContainer监听/写入FutureProvider?

带按钮的 Riverpod future Provider

Flutter 使用扩展的 TextField 定位小部件

无法从一个页面导航到下一个页面 (Flutter)

如何使用Riverpod提供程序正确构建搜索栏?

来自服务器的数据未分配给变量

FutureProvider 不返回数据给 UI

如何按值对列表中的 map 进行排序

Flutter_riverpod 安装时出现问题

参数类型MaterialPageRoute不能分配给参数类型String