gpt4 book ai didi

flutter - 为容器提供固定的宽度和高度与通过 BoxConstraints 类提供约束

转载 作者:行者123 更新时间:2023-12-04 14:02:10 24 4
gpt4 key购买 nike

在flutter的Container小部件中,

给它一个固定的 heightwidth 和为它提供 BoxConstraints constraints< 有什么区别 属性?

它是提供宽度 + 高度 还是约束?可以同时提供吗?有什么区别?

我还查看了 official docs它指的是 Container 小部件,在那里,就在名为 Layout Behavior 的标题下,他们提到了当宽度和高度以及约束的不同组合时会发生什么? (但我不明白他们有什么不同)

最佳答案

TLDR:他们做同样的事情

长答案:如果您查看 Container 的代码,您会发现您提供的 widthheight 实际上变成了 框约束Container 将使用 BoxConstraints 来设置其约束。以下是 Container 构造函数的 2021 年 10 月片段:

  Container({
Key? key,
this.alignment,
this.padding,
this.color,
this.decoration,
this.foregroundDecoration,
double? width,
double? height,
BoxConstraints? constraints,
this.margin,
this.transform,
this.transformAlignment,
this.child,
this.clipBehavior = Clip.none,
}) : // *Removed the asserts it made to make this snippet shorter
// Important part is here
constraints =
(width != null || height != null)
? constraints?.tighten(width: width, height: height)
?? BoxConstraints.tightFor(width: width, height: height)
: constraints,
super(key: key);

这是 Container 构建方法的一部分:

// Parts of the code removed to shorten snippet
if (constraints != null)
current = ConstrainedBox(constraints: constraints!, child: current);
// Parts of the code removed to shorten snippet
return current!;

关于flutter - 为容器提供固定的宽度和高度与通过 BoxConstraints 类提供约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69632458/

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