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

Flutter 颤振-仅在有足够空间时显示图像,flutter,flutter-layout,Flutter,Flutter Layout,我有一个扩展的小部件,它的子部件是Image.asset(…)。 在小型手机上,空间不足,图像被大幅缩小。因为它只是为了吸引眼球,如果没有至少一个高度>=100.0可用,我想隐藏/不显示图像 我如何在Flutter中实现这一点?是否有方法获取父窗口小部件的大小?您可以使用LayoutBuilder获取窗口小部件的输入约束 然后根据这些约束决定是否显示图像 LayoutBuilder( builder: (context, constraint) { if (constraint.

我有一个
扩展的
小部件,它的子部件是
Image.asset(…)

在小型手机上,空间不足,图像被大幅缩小。因为它只是为了吸引眼球,如果没有至少一个
高度>=100.0
可用,我想隐藏/不显示
图像


我如何在Flutter中实现这一点?是否有方法获取父窗口小部件的大小?

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

然后根据这些约束决定是否显示图像

LayoutBuilder(
  builder: (context, constraint) {
      if (constraint.maxHeight < 100.0) {
        // too small
        return Container();
      } else {
        // ok
        return Column(
          children: <Widget>[
            Image.asset("foo"),
            Container()
          ],
        );
      }
  },
)
LayoutBuilder(
生成器:(上下文,约束){
如果(constraint.maxHeight<100.0){
//太小
返回容器();
}否则{
//嗯
返回列(
儿童:[
影像资产(“foo”),
容器()
],
);
}
},
)

令人敬畏的Remi解决方案,您也可以使用MediaQuery和MediaQueryData,它有一些属性和方法,可以在类似情况下帮助您

一些属性包括方向、大小、填充、devicePixelRatio等

例如:

MediaQuery.of(context).orientation

你能把你的密码写出来吗?太棒了!你帮我节省了很多时间!