【问题标题】:What are possible reasons for a RenderBox not meeting its constraints?RenderBox 不满足其约束的可能原因是什么?
【发布时间】:2019-02-16 17:49:05
【问题描述】:

我的RenderBox 抛出以下断言:

The following assertion was thrown during performLayout():
RenderBox does not meet its constraints.
Constraints: BoxConstraints(w=411.4, h=411.4)
Size: Size(411.4, 411.4)

查看失败断言的实现,我发现isSatisfiedBy 实际上不应该失败,因为大小等于约束。
因此,我想知道是什么原因造成的。

通过调试,我实际上发现size.height 大约是411.42857,而constraints.maxHeight 大约是411.42855。因此,我尝试了地板的尺寸,但奇怪的是它没有帮助。

【问题讨论】:

  • 不会把地板的尺寸变成 411,这仍然不等于 411.4...?
  • @spkersten 好吧,运营商是<=

标签: dart flutter flutter-layout


【解决方案1】:

由于大小是固定的,我通过应用 described here 来解决它:

SizedBoxed(width: 411.2, height: 411.2, child: MyRenderObjectWidget())

为此,我删除了performLayout 的覆盖并将以下内容添加到我的RenderObject

@override
get sizedByParent => true;

@override
performResize() => size = constraints.smallest;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2020-07-24
    • 1970-01-01
    相关资源
    最近更新 更多