大多数Flutter widget都是盒子,你可以将它们布置、堆叠、甚至相互嵌套。
当一个盒子不适合另一个盒子时会发生什么呢?
为了解决这个问题,就有了FittedBox。
只需要提供一个子widget和一个BoxFit
它描述如何使子级widget贴合自己
MyBlueRect(
child: FittedBox(
fit: BoxFit.contain,
child: MyDashPic(),
)
)
它将自动缩放或裁剪其子级widget
BoxFit枚举提供了一堆不同的贴合类型,例如fitWidth、fill、甚至none
还有一个alignment属性,告诉FittedBox,如果有多余的空间,如何对齐子级
MyBlueRect(
child: FittedBox(
alignment: Alignment.centerLeft,
fit: BoxFit.contain,
child: MyDashPic(),
)
)
如果想了解有关FittedBox的内容,或者关于Flutter的其他功能,请访问flutter.io
原文翻译自视频:视频地址