gpt4 book ai didi

dart - Flutter Renderboxes 传递 Infinity 高度?

转载 作者:IT王子 更新时间:2023-10-29 06:45:33 27 4
gpt4 key购买 nike

我对 Flutter 的渲染框感到困惑。这是我的理解:布局算法从根开始,向下遍历小部件树,将约束传递给 child 。 Flex boxes,在它们的滚动方向上有边界约束,试图匹配它们的父约束。

考虑以下代码:

Widget build(BuildContext context) {
return LayoutBuilder(builder: (context, constraints) {
print("Parent");
print(constraints.maxWidth);
print(constraints.maxHeight);
return Column(children: [
LayoutBuilder(builder: (context, constraints) {
print("Child");
print(constraints.maxWidth);
print(constraints.maxHeight);
return SizedBox(
height: 12,
);
})
]);
});
}

这打印

flutter: Parent
flutter: 320.0
flutter: 568.0
flutter: Child
flutter: 320.0
flutter: Infinity

高度限制怎么突然变成无穷大了?它不应该与其父级匹配并且是 568.0 吗?

最佳答案

LayoutBuilder 父级大小很重要,如果父级大小不明确,约束大小将是无穷大。例如,如果您使用脚手架包裹小部件,LayoutBuilder 会提供精确的尺寸。

关于dart - Flutter Renderboxes 传递 Infinity 高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54603633/

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