我有一个ConstrainedBox,其minHeight为50,maxHeight为200。CB包含一个容器,其自身为红色。
现在我有两种情况:
我想使CB尽可能大(采用maxHeight)。我可以通过将CB粘贴到SizedBox.expand中来实现。
我想使CB尽可能小(取minHeight)。因此,我需要SizedBox.expand的反义词。我该怎么办?
答案 0 :(得分:0)
玩了一会儿之后,我发现了以下内容:
Widget build(BuildContext _) => Scaffold(
backgroundColor: Colors.transparent,
body: IntrinsicHeight(
child: ConstrainedBox(
constraints: BoxConstraints(minHeight: 50, maxHeight: 400),
child: Container(color: Colors.yellow))));
将以50像素渲染该框,并且
Widget build(BuildContext _) => Scaffold(
backgroundColor: Colors.transparent,
body: Container(
child: ConstrainedBox(
constraints: BoxConstraints(minHeight: 50, maxHeight: 400),
child: Container(color: Colors.yellow))));
将以400像素渲染该框。
因此,看起来IntrinsicHeight会将子级的大小调整为其minHeight
,而仅将其放入容器将产生maxHeight
。
答案 1 :(得分:-1)
您可以使用:
约束:BoxConstraints.loose(Size(width,height)),
在给定的约束下,它将使您的小部件尽可能小。
例如,如果您给约束Size(100,100),孩子的w = 110,h =110。由于约束,小部件将为100 x 100。
另外,如果您给约束条件Size(100m 100),子级w = 50,h = 50,则小部件将为50 x 50。