Android 中 SVG 和 VectorDrawable 的区别

2023-11-26

虽然Android支持SVG,但为什么要转换为VectorDrawable?

此代码示例显示 Android 中的 SVG:

SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android);
imageView.setImageDrawable(svg.createPictureDrawable());

您提到的 SVGParser 功能是 Android 的 SVG 支持的第三方实现。

在 Android 中使用 SVG 的主要问题是:

  • SVG 文件可能非常复杂并且渲染速度可能非常慢

  • 我使用的所有第三方实现都存在错误,无法正确加载或渲染某些 SVG 文件

  • 大多数第三方实现已被放弃,没有一个 似乎正在积极维护

我在下面的文章中写了更多关于在 Android 中使用 SVG 文件和可用的第三方库的内容:

https://androidbycode.wordpress.com/2015/02/27/vector-graphics-in-android-part-1-svg/

VectorDrawable 支持 SVG 格式的子集,旨在确保快速渲染。我写过有关 VectorDrawable 以及如何将现有 SVG 文件转换为 VectorDrawable 的文章here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 中 SVG 和 VectorDrawable 的区别 的相关文章

随机推荐