Android中SVG和VectorDrawable的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中SVG和VectorDrawable的区别相关的知识,希望对你有一定的参考价值。
虽然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的文章。
虽然android支持SVG
不,除了通过WebView
或第三方SVG渲染库之外,它不会。
为什么我们应该将SVG转换为VectorDrawable?
欢迎您通过WebView
或第三方SVG渲染库显示SVG文件。 VectorDrawable
是一个选择;这不是一个要求。
这段代码示例显示了android中的svg:
Android SDK中没有SVGParser
类。
以上是关于Android中SVG和VectorDrawable的区别的主要内容,如果未能解决你的问题,请参考以下文章
Android 安装包优化Android 中使用 SVG 图片 ( 批量转换 SVG 格式图片为 Vector Asset 矢量图资源 )
颤振导入'package:flutter_svg/flutter_svg.dart';不适用于 VS 代码和 Android 工作室