我正在尝试在 Flutter 小部件的一行中添加几个徽标;相关代码如下:
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
decoration: BoxDecoration(
border: Border.all(color: FbColors.grey),
borderRadius: BorderRadius.circular(300),
),
child: Image(
width: FbSizes.iconMd,
height: FbSizes.iconMd,
image: AssetImage(dark ? FbImages.googleDark : FbImages.googleLight),
),
),
const SizedBox(width: FbSizes.spaceBtwnItems),
Container(
decoration: BoxDecoration(
border: Border.all(color: FbColors.grey),
borderRadius: BorderRadius.circular(100),
),
child: Image(
width: FbSizes.iconMd,
height: FbSizes.iconMd,
image: AssetImage(dark ? FbImages.appleDark : FbImages.appleLight),
),
),
],
)
请注意,第一个Container
有一个BorderRadius.circular(300)
呼叫,第二个有一个BorderRadius.circular(100)
呼叫 - 但它们在屏幕上的大小相同,并且它们都不是指定的大小(它们在最终视图中的大小相同 - 我只是改变了代码中的大小以显示它们没有响应)。
我无论如何也想不通为什么我无法调整它们的大小。你知道我做错了什么吗?
小
Image
部件width
和height
属性应该控制图像的大小,但如果父级Container
或其他约束产生干扰,图像可能不会按预期显示。因此,不要将尺寸提供给图像,而是将其提供给父级
Container
并确保其Container
具有正方形尺寸。您可以使用中的属性来控制图像在 中的适合度,而不是将 设置为
Container
固定的,使其变成圆形。BorderRadius
BorderRadius.circular(300)
shape: BoxShape.circle,
decoration
Container
fit
AssetImage
fit: BoxFit.contain
Container
更好的解决方案:
您可以使用Widget并通过更改 属性
CircleAvatar
的值来控制图像的大小radius