在_RenderLayoutBuilder
In layout_builder.dart
的文档中,它说:
'LayoutBuilder does not support returning intrinsic dimensions.\n'
'Calculating the intrinsic dimensions would require running the layout '
'callback speculatively, which might mutate the live render object tree.'
在这种情况下,“布局回调”是什么,为什么要进行推测性的调用?
我正试图研究如何实现一个与LayoutBuilder
类似的自定义LayoutBuilder
,它使用构建器回调构建其子结构,并支持内部维度。
发布于 2022-01-06 22:40:47
“布局回调”是传递给builder
的LayoutBuilder函数。
计算任何RenderObject的内在维度都涉及到一个推测的布局传递。LayoutBuilder在布局时构建其小部件子树,如果其约束条件发生变化,则可以对呈现对象树进行变异。由于这种推测的布局传递几乎肯定使用了与最终将在布局中使用的约束不同的约束,所以LayoutBuilder不可能以您想要的方式工作。
这是LayoutBuilder如何工作的基础,所以我怀疑您是否能够修改它以支持内在维度。根据您计划支持的布局更改,可以考虑将此自定义RenderBox建立在CustomMultiChildLayout
上。
发布于 2022-08-31 03:21:39
您可以尝试用Column
包装小部件,并设置mainAxisSize
:MainAxisSize.min
,这样就可以根据其内在更改高的arlertDialog
。
https://stackoverflow.com/questions/70614252
复制相似问题