未处理的异常:无法测试没有大小的渲染框

2024-04-06

所以我正在尝试重新创建一个 UI 模板。这是代码。我试图通过调用RecentlyViewed() 添加另一个水平GridView,但重新加载后它无法呈现。我不知道如何渲染它。我尝试过使用扩展的小部件和灵活的但都不起作用

return Scaffold(
      backgroundColor: Colors.white,
      appBar: AppBar(
        backgroundColor: Colors.blueGrey[50],
        centerTitle: true,
        title: Text(
            'Engagement Rings',
          style: TextStyle(
            fontWeight: FontWeight.bold,
          ),
        ),
      ),
      resizeToAvoidBottomPadding: false,
      body: SingleChildScrollView(
        child: Column(
            children: <Widget>[
              //Padding
              new Padding(padding: const EdgeInsets.all(8.0),),

              //Horizontal List
              picSlides(),

              //Padding
              SizedBox(height: 10.0),

              //Grid View
              Container(
                height: 100.0,
                child: Column(
                  children: <Widget>[
                    Align(
                      alignment: Alignment.topLeft,
                      child: Text(
                        'Engagement Rings',
                        textAlign: TextAlign.left,
                        style: TextStyle(
                          fontWeight: FontWeight.bold,
                          fontSize: 20.0,
                        ),
                      ),
                    ),

                    Align(
                      alignment: Alignment.centerLeft,
                      child: Text(
                        'bhjbsdbskjksbdknbsdnbbskdbbsdk',
                        textAlign: TextAlign.left,
                      ),
                    ),
                    Align(
                      alignment: Alignment.bottomLeft,
                      child: RaisedButton(
                        onPressed: (){},
                        color: Colors.white,
                        child: Text(
                          '450.00 USD',
                          style: TextStyle(
                            fontWeight: FontWeight.bold,
                            color: Colors.black,
                          ),
                        ),
                      ),
                    )
                  ],
                ),
              ),
              SizedBox(height: 10.0),
              sizeRow(),
              SizedBox(height: 10.0),
              Container(
                margin: EdgeInsets.all(5.0),
                padding: EdgeInsets.fromLTRB(5.0, 10.0, 5.0, 5.0),
                height: 150.0,
                color: Colors.grey,
                child: Column(
                  children: <Widget>[
                    Align(
                      alignment: Alignment.topLeft,
                      child: Container(
                        child: Text(
                          'Finance Calculator',
                        ),
                      ),
                    ),
                    Expanded(
                        child:Row(
                          children: <Widget>[
                            Container(
                              color: Colors.white,
                              child: Center(
                                child: Text(
                                  '0%',
                                  style:TextStyle(
                                    fontWeight: FontWeight.bold,
                                    fontSize: 100.0,
                                  ),
                                ),
                              ),
                            ),
                            Expanded(
                                child: Container(
                                 color: Colors.white,
                                  child: Center(
                                   child: Text(
                                  'From only 35.00 USD Per Month',
                                ),
                              ),
                             )
                            )
                          ],
                        ),
                    )
                  ],
                )
              ),
              SizedBox(height: 10.0),
              RecentlyViewed(),
            ]
        ),
      )
    );

这是显示的错误:

E/flutter (11292): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: Cannot hit test a render box with no size.
E/flutter (11292): The hitTest() method was called on this RenderBox: RenderRepaintBoundary#68904 relayoutBoundary=up12 NEEDS-PAINT:
E/flutter (11292):   needs compositing
E/flutter (11292):   creator: RepaintBoundary ← NotificationListener<ScrollNotification> ← GlowingOverscrollIndicator ← Scrollable ← GridView ← RecentlyViewed ← Column ← _SingleChildViewport ← IgnorePointer-[GlobalKey#1d332] ← Semantics ← _PointerListener ← Listener ← ⋯
E/flutter (11292):   parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
E/flutter (11292):   constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=Infinity)
E/flutter (11292):   layer: OffsetLayer#74c19 DETACHED
E/flutter (11292):   size: MISSING
E/flutter (11292):   metrics: 0.0% useful (1 bad vs 0 good)
E/flutter (11292):   diagnosis: insufficient data to draw conclusion (less than five repaints)
E/flutter (11292): Although this node is not marked as needing layout, its size is not set.
E/flutter (11292): A RenderBox object must have an explicit size before it can be hit-tested. Make sure that the RenderBox in question sets its size during layout.
E/flutter (11292): #0      RenderBox.hitTest.<anonymous closure> (package:flutter/src/rendering/box.dart:2118:9)
E/flutter (11292): #1      RenderBox.hitTest (package:flutter/src/rendering/box.dart:2133:6)
E/flutter (11292): #2      RenderBoxContainerDefaultsMixin.defaultHitTestChildren.<anonymous closure> (package:flutter/src/rendering/box.dart:2488:24)
E/flutter (11292): #3      BoxHitTestResult.addWithRawTransform (package:flutter/src/rendering/box.dart:801:31)
E/flutter (11292): #4      BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:758:12)
E/flutter (11292): #5      RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2483:33)
E/flutter (11292): #6      RenderFlex.hitTestChildren (package:flutter/src/rendering/flex.dart:942:12)
E/flutter (11292): #7      RenderBox.hitTest (package:flutter/src/rendering/box.dart:2135:11)
E/flutter (11292): #8      _RenderSingleChildViewport.hitTestChildren.<anonymous closure> (package:flutter/src/widgets/single_child_scroll_view.dart:565:24)
E/flutter (11292): #9      BoxHitTestResult.addWithRawTransform (package:flutter/src/rendering/box.dart:801:31)
E/flutter (11292): #10     BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:758:12)
E/flutter (11292): #11     _RenderSingleChildViewport.hitTestChildren (package:flutter/src/widgets/single_child_scroll_view.dart:560:21)
E/flutter (11292): #12     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2135:11)
E/flutter (11292): #13     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:114:19)
E/flutter (11292): #14     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2135:11)
E/flutter (11292): #15     RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3064:31)
E/flutter (11292): #16     RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:114:19)
E/flutter (11292): #17     RenderBox.hitTest (package:flutter/src/rendering/box.dart:2135:11)
E/flutter (11292): #32     Ren
Restarted application in 10,979ms.
Malformed message

有人可以帮助我通过使整个屏幕可滚动来渲染我的小部件 idk


For a ListView, set 收缩包装财产给true

shrinkWrap: true

为什么需要这个?

ListView总是尝试填充父元素给出的所有可用空间。 因此,假设父级是一个列,那么我们知道该列占用最大可用高度,因此如果您的列表较长,那么您就会遇到问题,因为没有足够的可用空间。如果列表较小,那么它会尝试填充可用空间,即使它不能。

With shrinkWrap: true,您可以更改此行为,以便 ListView 只占用它需要的空间(当有更多项目时它仍然会滚动)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未处理的异常:无法测试没有大小的渲染框 的相关文章

随机推荐

  • iPhone单元测试:调用自定义代码时未找到符号

    我正在尝试为我的 iPhone 应用程序设置单元测试 我跟着苹果单元测试文档 http developer apple com iphone library documentation Xcode Conceptual iphone dev
  • 如何通过在每个选项卡上执行一些命令来在 mac os Lion 终端上自动打开多个选项卡?

    我需要自动打开带有多个选项卡的终端 并需要在其上执行多个命令 我知道在ubuntu下怎么做 但它不适用于 mac os 任何想法 gnome terminal tab e tail f somefile tab e some other c
  • ListView 项目添加事件

    当将项目添加到 listView 时 是否有我可以使用的事件 不这么认为 我用过这个列表视图替换 http www codeproject com KB list ObjectListView aspx在过去 我相当确定它有一个添加项目时的
  • Android中从中心点缩放位图以获得放大效果

    我试图在 Android 中从中心点放大位图以实现缩放效果 但没有成功 我的代码是 float scaleWidth float width i 5 width float scaleHeight float height i 5 heig
  • 如何在 Swift 中通过部分标签文本搜索来定位 XCUIElement?

    我一直在使用这种方法定位 XCUIElements app staticTexts Full Label Text 但是如果我只知道标签文本的一部分怎么办 部分标签文本是动态生成的 例如 Item 1 Item 2 等 因此我想通过查找包含
  • 生成数据框中7列的所有组合并添加相应的行以生成新列

    我有一个类似于下面的数据框 Wave A B C 340 77 70 15 341 80 73 15 342 83 76 16 343 86 78 17 我想生成包含现有列的所有可能组合的列 我在这里显示了 3 列 但在我的实际数据中 我有
  • 查找与 colorBrewer 调色板接近的颜色的颜色名称

    我想使用R包SNA来做社交网络分析 SNA 仅使用 R 颜色名称 文本名称 为元素着色 我想从 ColorBrewer 调色板 set3 中找到与 R 中的颜色名称接近的匹配项 RGB 空间中没有太多精确匹配 require RColorB
  • 这个错误意味着什么以及如何解决它?

    我正在尝试在 android 中使用 NDK 构建 C 代码 我有一个有参数的方法vector lt vector
  • PHP 时区数据库损坏错误

    我有一个 WordPress 网站 今天突然停止工作了 当我查看日志时 我看到错误 错误 客户端 50 78 108 177 PHP 致命错误 strtotime 时区 数据库已损坏 这应该never happen 在谷歌上阅读后 有人说他
  • 为什么我应该在 Silverlight 应用程序中使用 MVVM?

    我想知道为什么我们应该使用 MVVM 来实现 Silverlight 应用程序 它有什么优点呢 我们不对 ViewModel 进行单元测试 所以我想要其他原因 以下是我对人们通常所说的一些优点的疑问 1 松耦合 当我们使用MVVM时 视图依
  • 在centos中设置Docker_Opts

    我需要设置 docker 在运行 amazon linux centos 的主机上侦听 tcp 0 0 0 0 4243 我看到的所有文档都告诉我运行以下命令 echo DOCKER OPTS H tcp 127 0 0 1 4243 gt
  • 我如何在 Delphi 中进行线程处理的各种方法之间进行选择?

    看来我终于要在我的 Delphi 2009 程序中实现某种线程了 如果只有一种方法可以做到这一点 我就会逃跑 但我看到了几种可能性 谁能解释一下它们之间有什么区别以及为什么我会选择其中一个而不是另一个 Delphi 中的 TThread 类
  • Android 设备管理员权限活动未启动

    我正在尝试以设备管理员身份启用我的应用程序 尝试调用授予我的应用程序权限成为设备管理员的活动的代码如下 import android app Activity import android app admin DevicePolicyMan
  • 将字符串格式的日期转换为字符串日期前一天的 nsdate 结果

    我搜索了我的问题 但没有找到任何相关的帮助 故事 用户按名称 开始日期 结束日期和注释创建连续事件 因此将所有字段保存在 Sqlite 数据库中 两个日期格式均为 yyyy MM dd 之后 当用户想要对事件执行操作时 应用程序会检查用户选
  • 如何使用 OpenCV triangulatePoints

    我正在努力获取 OpenCVtriangulatePoints功能来工作 我正在使用该函数与光流生成的点匹配 我使用来自单个移动摄像机的两个连续帧 位置 目前 这些是我的步骤 给出了内在函数 看起来就像人们所期望的那样 2 6551e 00
  • 动态为mysql查询中的所有字段名分配别名

    我的 mysll 数据库中有 2 个表 两个表都有很少的固定列和很少的动态列 字段 架构 我想用以下查询连接这两个表 SELECT FROM cd cd LEFT JOIN cd n cn ON cd id cn fk cd 我想要的结果是
  • 在新维度中堆叠数组

    假设我有三个数组 k np array 1 1 2 2 m np array 3 3 4 4 n np array 5 5 6 6 理想情况下 我希望获得形状为 3 2 2 的最终数组 即 array 1 1 2 2 3 3 4 4 5 5
  • Scala 模式匹配引用

    当模式匹配案例类时 您实际上如何引用它所匹配的类 这是一个例子来说明我的意思 sealed trait Value case class A n Int extends Value v match case A x gt doSomethi
  • 大对象不能在自动提交模式下使用

    我正在开发一个使用 spring 和 hibernate 的应用程序 我们使用 postgresql 作为数据库 当我尝试将记录插入到具有 OID 列的表中时 会引发以下错误 org hibernate exception GenericJ
  • 未处理的异常:无法测试没有大小的渲染框

    所以我正在尝试重新创建一个 UI 模板 这是代码 我试图通过调用RecentlyViewed 添加另一个水平GridView 但重新加载后它无法呈现 我不知道如何渲染它 我尝试过使用扩展的小部件和灵活的但都不起作用 return Scaff