【问题标题】:SVG image can not be used for FlutterSVG 图像不能用于 Flutter
【发布时间】:2022-01-11 21:13:13
【问题描述】:

我想为 Flutter android 应用程序使用 SVG 图标。此图片是从 figma 设计文件中下载的,可以用浏览器打开,但不能在 Flutter android 应用中使用。我用了flutter_svg包,yaml文件路径是正确的。当我在应用程序上加载这个 SVG 图标时,只显示白色矩形。

我找到了以前类似的答案,他们说使用 AI 应用程序可以修复 SVG 格式以在 Flutter 应用程序中使用。但我的电脑上没有 AI 应用程序。是否有任何网站或其他方式来修复和使用 SVG 图像。

【问题讨论】:

  • 我认为问题出在您的 SVG 文件中。
  • 99% 确定它与某些 id 名称相关(用于符号、渐变、过滤器等)。很常见的问题是由包含冒号“:”等字符的 id 引起的。诚然 - 本身不是不符合标准的......但不能通过 js/css 选择。请提供您的 svg 输出示例。
  • @herrstrietzel 我无法提供 svg 输出,导致此输出超出了 stackoverflow 询问部分的最大正文字母限制。
  • 您可以将您的 svg 添加到 jsfiddle 或 codepen 并在此处添加链接。您也可以尝试通过 SVGOMG 优化器运行 svg,因为它可以纠正一些小文件问题
  • SVGOMG for chrome 扩展很有用。请按照以下链接检查我的 SVG 格式。 codepen.io/leoLinux/pen/BawKqre

标签: flutter svg


【解决方案1】:
use flutter_svg package from pub.dev

final String assetName = 'assets/image.svg';
final Widget svg = SvgPicture.asset(
  assetName,
  semanticsLabel: 'Acme Logo'
);

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
  • 请仔细阅读我的问题。我说我使用了 flutter_svg 包,并且可以使用我项目的任何其他 SVG 文件。但只有这个文件无法加载。所以我问“如何将 SVG 文件修复为正确的格式。”感谢您的回答。
猜你喜欢
  • 2016-10-15
  • 2021-01-10
  • 2022-10-19
  • 1970-01-01
  • 2020-03-19
  • 2014-11-21
  • 1970-01-01
  • 2015-11-20
  • 1970-01-01
相关资源
最近更新 更多