gpt4 book ai didi

flutter - 为什么 LayoutBuilder 不能有固有尺寸?

转载 作者:行者123 更新时间:2023-12-05 04:38:23 32 4
gpt4 key购买 nike

layout_builder.dart_RenderLayoutBuilder 的文档中说:

'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.'

在这种情况下,“布局回调”是什么,为什么必须推测性地调用它?

我正在努力思考如何实现自定义 RenderBox,它类似于 LayoutBuilder 使用构建器回调构建其子项并支持内在维度。

最佳答案

“布局回调”是您传递给 LayoutBuilder 的 builder 函数。

计算任何 RenderObject 的固有尺寸都涉及推测布局过程。 LayoutBuilder 在布局时构建它的小部件子树,如果它的约束发生变化,它可以改变渲染对象树。由于这种推测性布局传递几乎肯定会使用与最终将在布局中使用的约束不同的约束,因此 LayoutBuilder 不可能按照您想要的方式工作。

这是 LayoutBuilder 工作原理的基础,因此我怀疑您是否能够修改它以支持固有维度。根据您计划支持的布局更改,您可以考虑将此自定义渲染框改为基于 CustomMultiChildLayout

关于flutter - 为什么 LayoutBuilder 不能有固有尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70614252/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com