我的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
。因此,我尝试了地板的大小,但奇怪的是它没有帮助。
由于大小是固定的,我通过应用什么是described here解决了它:
SizedBoxed(width: 411.2, height: 411.2, child: MyRenderObjectWidget())
为此,我删除了performLayout
的覆盖并将以下内容添加到我的RenderObject
:
@override
get sizedByParent => true;
@override
performResize() => size = constraints.smallest;