Flutter - 仅在有足够空间时才显示图像

Tom*_*myF 2 flutter flutter-layout

我有一个ExpandedWidget,Image.asset(...)因为它是孩子。
在小手机上没有足够的空间,图像被大量缩小。由于无论如何它只是为了吸引眼球,Image如果至少没有height >= 100.0可用的,我想隐藏/不显示。

我如何在 Flutter 中做到这一点?有没有办法获得父小部件的大小?

Rém*_*let 5

您可以使用LayoutBuilder获取小部件的输入约束。

然后根据这些约束决定显示或不显示图像

LayoutBuilder(
  builder: (context, constraint) {
      if (constraint.maxHeight < 100.0) {
        // too small
        return Container();
      } else {
        // ok
        return Column(
          children: <Widget>[
            Image.asset("foo"),
            Container()
          ],
        );
      }
  },
)
Run Code Online (Sandbox Code Playgroud)