可缩放矢量图形,SVG不会像位图一样因为缩放而让图片质量下降。
优点:节约空间与内存,常用于简单小图标
SVG 使用 XML 格式定义图形,标准svg根节点为<svg>
在Android中通过Vector实现对svg的支持,根节点为<vector>。
获得一张svg需要先进行转换才能在android当中使用。
首先我们需要弄一直svg图片。咱可以去iconfont网站里面去下载一个
比如说我找了一张飞机的svg图片
然后我们在AndroidStudio中新建一个vector Asset
然后就会在drawable文件夹里生成一个根节点为vector的xml文件
xml使用
xml的使用方式跟正常的icon使用方式差不多
<ImageViewandroid:layout_width="200dp"android:layout_height="200dp"android:src="@drawable/feiji"/>
到了这里还有一个问题就是,现在只是一张svg图片,如果很多张svg图片的话,转换就比较麻烦,我这里给出两种批量转换svg的方案
方案1
多个svg转换android的vector,下载svg2vector-cli-1.0.1.jar
执行转换:
java -jar svg2vector-cli-1.0.1.jar -d .-o convert -h 20 -w 20
例:
java -jar svg2vector-cli-1.0.1.jar -d F:\xxx\mysvg .-o F:\xxx\mysvg convert -h 20 -w 20
下载地址:https://github.com/MegatronKing/SVG-Android/tree/master/svg-vector-cli/bat
方案2(推荐)
使用AndroidStudio中的插件
安装插件
进入settings-plugins
搜索svg2vectorDrawable
安装完成后重启ide
然后再工具栏上找到这个svg的插件
找不到就双击shift
搜索svg2verctorDrawable
点击generate就自动在app模块下的drawable文件夹下生成xml文件