Flutter Widget 之FittedBox

512 阅读1分钟

大多数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

原文翻译自视频:视频地址