我已经阅读了SizedBoxLimitedBox的文档,但没有发现两者之间有任何实际区别。

任何人都可以举例说明一个人可能失败而其他工作吗?

最佳答案

所以我发现,只有当 child 的 parent 给 child 不受约束的LimitedBox时,width/height才可用。
SizedBox只是使用给定的width/height创建一个框,并且不允许子级超出给定的尺寸。

示例:(LimitedBox)

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: LimitedBox(
      maxHeight: 50, // no impact because it's child `Text` width/height isn't unconstrained
      child: Text(
        "A",
        style: TextStyle(fontSize: 200),
      ),
    ),
  );
}

范例(SizedBox)
@override
Widget build(BuildContext context) {
  return Scaffold(
    body: SizedBox(
      height: 50, // has impact, it won't let Text to be of more than 50 logical pixels high
      child: Text(
        "A",
        style: TextStyle(fontSize: 200),
      ),
    ),
  );
}

注意:如果有人有更好的答案,我很乐意接受他们的回答。

关于flutter - Flutter SizedBox与LimitedBox,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57455618/

10-11 14:45