[英]how to change size of svg image in flutter?
我使用flutter_svg: ^0.18.0
在我的项目中使用 svg 图像。 但是我找不到合适的方法来改变它的大小。
这是我的代码
body: SafeArea(
child: Center(
child: SvgPicture.asset('assets/images/morelights.svg'),
),
),
您可以使用 IconButton 包装您的 SvgPicture 小部件
IconButton(
onPressed: (){},
icon: SvgPicture.asset(
icDate,
height: 24,
width: 24,
),
),
您只需要使用 svg 图片的宽度和高度属性。
SvgPicture.asset(
'assets/images/bm-icon1.svg',
width: 18.0,
height: 18.0,
),
编辑:您可以使用SizedBox轻松实现此目的:
SizedBox(
width: 100.0,
height: 150.0,
child: SvgPicture.asset('assets/images/morelights.svg',),
)
原答案:
您可以在资产构造函数本身中指定高度和宽度:
SvgPicture.asset('assets/images/morelights.svg', height: 100, width: 150)
阅读本文档中所有可用的属性: SvgPicture.asset
将其包装在 Container 小部件中,因为 SvgPicture.asset() 将始终采用父级的完整可用高度或宽度。 您可以调整容器小部件的高度和宽度,以获得 SVG 所需的大小。
Container(
child: SvgPicture.asset('assets/images/morelights.svg'),
height: 100,
),
关键提示是使用fit
属性,如下所示:
SvgPicture.asset(
'assets/svg/notification.svg',
height: 5, width: 5,
fit: BoxFit.scaleDown
)
您可以使用SvgPicture.asset
的height
和width
参数:
Center(child: SvgPicture.asset(icon, height: 20, width: 20))
我偶然找到了解决方案。 用Container小部件包装SvgPicture并添加alignment 。
这样您就可以自由更改 SvgPicture 的宽度和高度。
Container(
height: 100,
width: 100,
alignment: Alignment.center, // <---- The magic
padding: const EdgeInsets.all(12),
child: SvgPicture.asset(
'assets/icons/svg-image.svg',
semanticsLabel: 'Image',
height: 50,
width: 50,
),
),
希望这适用于您的情况
您可以用IconButton包装SvgPicture.asset小部件,此属性具有覆盖此问题的行为。 示例代码如下。
IconButton(
icon: SvgPicture.asset('assets/svg_images/ic_plane.svg',
color: const Color(0xffFF5D2A),
height: 20,
width: 20,
), onPressed: () { },
),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.