如何在Flutter中拉伸SVG?

3

如何拉伸SVG图片?

以下是代码:

child: SvgPicture.asset(   
                  'assets/images/accessories.svg',
                  height: constraints.maxHeight * 0.5,
                  width: constraints.maxWidth * 0.8,
                ),
2个回答

8
您可以使用SvgPicture小部件的fit属性根据需要对资产图像进行适配。 一些适配的属性有:

BoxFit.contain

尽可能大,同时仍然完全包含源文本在目标框内。

BoxFit.cover

尽可能小,同时覆盖整个目标框。

BoxFit.fill

通过扭曲源的宽高比填充目标框。

BoxFit.fitHeight

确保显示源的完整高度,无论这是否意味着源在水平方向上溢出目标框。

BoxFit.fitWidth

确保源的完整宽度显示,无论这是否意味着源在垂直方向上溢出目标框。

BoxFit.none

将源文本与目标框内对齐(默认为居中),并丢弃超出框外的任何部分。

BoxFit.scaleDown

尽可能大,同时完整地包含源代码在目标框内。

更详细的参考请查看官方文档


1
您可以使用以下方式为SvgPicture小部件设置fit属性。
Widget build(BuildContext context) {
    return Container(
      child: Stack(
        children: [
          FittedBox(
            fit: BoxFit.cover,
            child: SvgPicture.asset('assets/icons/bg.svg'),
          ),



1
这句话是如何对一年半前发布的答案有所补充的呢? - Adrian Mole

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接