SizedBox中的Flutter图像被父容器覆盖

时间:2019-07-20 09:02:06

标签: flutter flutter-layout

我正在尝试将图像放置在盒子(带边框的容器)的中央。图像大小是通过用大小框包围来设置的,边框或框是通过用带有框装饰的容器包围来创建的,例如:

function getKey ($data, $path) {
    return array_key_exists ($path, $data) ? $data[$path] : null;
}

$lat = getKey($data, ['location']['latLng']['longitudqqqse'])

问题是图像资产忽略大小框的尺寸,并从周围的容器中获取尺寸,从而使图像太大。

我不确定为什么会发生这种情况,除非它从小部件树的顶部得到它的大小,这似乎没有道理。

2 个答案:

答案 0 :(得分:1)

我也有同样的问题。您可以尝试将Image.asset添加到另一个容器中,然后相应地更改该容器的大小。 InkWell( child: Container( decoration: BoxDecoration(border: Border.all()), height: 50, width: 70, child: SizedBox( height: 10, width: 10, child: Container( height: 40.0, width: 40.0, Image.asset('assets/store_physical.png', fit: BoxFit.cover) )), ), )

答案 1 :(得分:1)

widthheight中删除ContainerSizedBox,而在Image.asset()中提供

Container(
  decoration: BoxDecoration(border: Border.all(color: Colors.blue, width: 5)),
  child: Image.asset(
    'assets/store_physical.png',
    fit: BoxFit.cover,
    height: 50, // set your height
    width: 70, // and width here
  ),
)