【问题标题】:RenderBox was not laid out flutter listviewRenderBox 没有布局flutter listview
【发布时间】:2021-08-31 05:37:50
【问题描述】:

ListView 不工作。我想在内部列表视图中显示 3 个不同的有状态小部件,但出现错误

渲染库捕获的异常═════════════════════════════════ RenderBox 未布局:RenderViewport#01b62 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE

Column(
      children: <Widget>[
        //wrap with list of widget
        ListView(
          children: [
            Expanded(child: Body(box.get('state'), true)),
            Divider(color: Colors.black),
            Expanded(child: Body(box.get('state'), false)),
          ],
        )
      ],
    ),

我正在使用此代码在ListView 中显示小部件。 我的 Body 小部件返回 listview.builder 或有时是简单的文本小部件。

当我不只使用列小部件时,屏幕分成两部分 - 上部 listview.builderlower listview.builder 当我使用此代码时,它会引发错误。 所需的输出 - 第一个 body 小部件应该显示在整个屏幕上,一旦第一个小部件结束,第二个 body 小部件应该显示在整个屏幕上。 这个怎么做?为什么会出现这个错误? 注意:shrinkwraptrue 内的 Body 小部件(listview.builder)。

【问题讨论】:

  • 如果在 ListView 等滚动视图中使用 Column,请尝试设置 Column mainAxisSize: MainAxisSize.min 并使用带 flex 属性的 Flexible 来代替 Expand。

标签: flutter dart flutter-layout flutter-dependencies flutter-web


【解决方案1】:

您需要添加此代码

物理:NeverScrollableScrollPhysics(),

在所有的ListView.builder中,

【讨论】:

    猜你喜欢
    • 2021-11-07
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    • 1970-01-01
    相关资源
    最近更新 更多