ContrainedBox:设置尺寸

用于设置并约束子widget尺寸

ConstrainedBox:(
  constraints:BoxConstraints(
    minWidth:double.inifinity,//宽度尽可能大
    maxWidth:...,
    minHeight:50.0,
    maxHeight:double.infinity//高度尽可能大
  )
)

//constraints:BoxContraints.tightFor(80.0,height:80.0)
  等价于BoxConstraints(minWidth:80.0,maxWidth:80.0,minHeight:80.0,maxHeight:80.0)
//用于设置具体宽高
SizedBox:(
  80.0,
  height:80.0,
  child:()
)

多重限制:对于minWidth和minHeight来说,是取父子中相应数值较大的。实际上,只有这样才能保证父限制与子限制不冲突。

UnconstrainedBox:不会对子widget产生任何限制

ConstrainedBox(
    constraints: BoxConstraints(minWidth: 60.0, minHeight: 100.0),  //
    child: UnconstrainedBox( //“去除”父级限制
      child: ConstrainedBox(
        constraints: BoxConstraints(minWidth: 90.0, minHeight: 20.0),//
//如果minHeight>=100.0,则占全部,且会溢出

//如果minHeight<100.0,则从底部开始往上占据
child: redBox, ), ) )

若给元素指定宽高,不起作用,可使用UnconstrainedBox

原文地址:https://www.cnblogs.com/shui1993/p/11180859.html