Android 使用SVG图,无限适配


读完本文需要5分钟

SVG 意为可缩放矢量图形(Scalable Vector Graphics),是使用 XML 来描述二维图形和绘图程序的语言;

Android 使用SVG图,无限适配_第1张图片

下面是我整理的关于SVG方面的资料,东西太多,这里把看过比较好的文章引用了一下,

方便大家集中学习。

1、一个问题:

不是说VectorDrawable无论是在缩小还是在放大都不会损失图片质量吗?

但是在我的手机(4.4)上放大VectorDrawable还是会损失质量?

答:其实使用VectorDrawable分两种情况

(1)Android 5.0及其以上可以直接使用 Vector的有关API 没有任何问题

(2)Android 4.4及其以下就必须使用支持库来实现对Vector相关API的支持,但是这样也只是只是

Vector的一部分API并不能全部支持,而原理是:svg会自动生成不同dpi的png图片。这样做的优点只

是只需要提供一套svg格式的图片就行,等到程序编译的时候会自动在各个dpi中生成相应png图片;

自然对于固定的手机(Android 4.4 及其以下)放大的是PNG图片而不是矢量图,所以还是会损失质

量。

补充:其实并不是上面上的那样子,在Android 4.4及其以下的版本的时候,首先一定要自己的Activity

一定要继承AppCompatActivity 其次禁止生成png;


Android 使用SVG图,无限适配_第2张图片

2、几个深入学习地址

(1)将svg格式的图片转换为VectorDrawable 地址:http://inloop.github.io/svg2android/

(2)总结比较全面的文档地址:https://laobie.github.io/android/2016/05/31/vectors-for-all-

finally.html

(3) Android VectorDrawable api文档地址:

https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html


Android 使用SVG图,无限适配_第3张图片

如果大家觉得好,大家转载的同时,也点点文章左上角的订阅,

你可能感兴趣的:(android)