xml矢量图片

缩放矢量图形(英语:Scalable Vector Graphics,SVG)是一种基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。
.svg格式相对于.jpg、.png甚至.webp具有较多优势:
图像与分辨率无关,不会变形,适配安卓的各种分辨率;
省空间。体积小,一般复杂图像也能在数KB搞定,图标更不在话下

xml矢量图片的生成

方式一:通过android studio 将svg格式的图片转换成 xml格式的矢量图片:

(1) 通过阿里的iconfont网址,下载对应的在线矢量图:
https://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2

我们可以通过这个网站,查询下载各种svg的图片,关键是还可以根据自己的需要来调节各种颜色:

android开发笔记之xml矢量图片_xml

android开发笔记之xml矢量图片_xml矢量图片_02


(2)通过android studio,将svg图片转换为xml矢量图片。将项目选择为Project Files, 鼠标选中drawable文件夹–右键–New–Vector Asset:

android开发笔记之xml矢量图片_android_03


打开Configure Vector Asset,选择Local file(AVG,PSD),从这我们也可以看出PSD格式的图片也是可以直接转换为xml矢量图片的:

android开发笔记之xml矢量图片_android_04


然后,我们就可以看到转换后的xml格式的矢量图片:

android开发笔记之xml矢量图片_矢量图_05

方式二:通过android studio,直接选择xml矢量图片

将项目选择为Project Files, 鼠标选中drawable文件夹–右键–New–Vector Asset:

android开发笔记之xml矢量图片_SVG_06


选择Clip Art,再点击Clip Art后面显示的图标(上图为机器人小图标):

android开发笔记之xml矢量图片_xml矢量图片_07


选择我们需要的矢量图片,然后就可以自动生成我们需要的xml矢量图片。

android开发笔记之xml矢量图片_xml_08

方式三:svg2VectorDrawable生成xml矢量图片

在Android Studio中, File -> Setting -> Plugins -> Browser repositories -> 搜“svg2VectorDrawable” -> 安装并重启Android Studio,再次进来后顶部工具栏会多一个图标:

android开发笔记之xml矢量图片_android_09


然后点击SVG:

android开发笔记之xml矢量图片_xml矢量图片_10


就可以直接在对应位置生成xml矢量图片。

xml矢量图片的预览

那我们如何预览我们的xml矢量图片呢?有二种方式:

方式一:Android Studio预览功能

将xml矢量图片复制到对应项目的drawable文件夹中,然后直接可以打开预览:

android开发笔记之xml矢量图片_android_11


方式二:SVG2Vector编辑预览工具

这是1款Java Applet可视化小程序,支持快速处理svg或svgz格式图片生成vector的转换,并且支持编辑和预览生成的vector资源文件图片。

首先,源码地址:https://github.com/MegatronKing/SVG-Android/tree/master/svg-vector-applet 其次,下载地址:

使用步骤:

下载后为svg2vector-applet-1.0.0.jar,直接启动:

java -jar svg2vector-applet-1.0.0.jar

android开发笔记之xml矢量图片_xml_12


然后,我们可以直接将svg、svgz、vector文件,xml矢量图片直接拖入到这个界面,就可以得到预览界面,我们可以修改。

android开发笔记之xml矢量图片_矢量图_13


附:

还有一个工具,我们可以生成svg格式的图片—Adobe Illustrator Cs6

最后,我们android开发,这个xml矢量图片的制作,预览二个功能已经搞定,应该来说,没有什么拦路虎了。

参考资料

(1)Android使用矢量图(SVG, VectorDrawable)实践篇
https://www.jianshu.com/p/0555b8c1d26a (2)SVG-Android开源库——SVG生成Vector资源文件的编辑预览工具
http://www.wfuyu.com/technology/27393.html

(3)SVG2Vector离线编辑和预览工具