VectorDrawable使用

摘要

       从5.0(API等级21)开始,android了支持矢量图,优点:文件比位图要小,可以缩小我们apk体积,并且可以任意放大矢量图形,而不会丢失细节或影响清晰度,在屏幕适配时,只用一套图即可。

VectorDrawable的使用

1. 项目配置
compile 'com.android.support:appcompat-v7:23.2.0' //要求 appcompat-v7库的版本要在23.2.0+

修改gradle配置文件(gradle插件版本是2.0+)

android {
  defaultConfig {
    vectorDrawables.useSupportLibrary = true
  }
}
2. svg处理

Android中矢量图是以xml文档的形式存在的,并以vector为根节点,长这样:


    


但我们的UI小姐姐提供给我们.jpg/.png/.psd/.svg等格式的图片,都不是我们想要的,这可咋办 ???

VectorDrawable使用_第1张图片
svg格式图片

没关系,我们可以用强大的Studio转格式啊,步骤如下:

VectorDrawable使用_第2张图片
启动转换器 : 方法一

或者使用快捷键:Ctrl + shift + A ,然后输入 Vector Asset

VectorDrawable使用_第3张图片
启动转换器 : 方法二
VectorDrawable使用_第4张图片
svg 转换器

Clip Art 项为固有的矢量图,我们直接用即可,而Local file(SVG,PSD)选项,则是我们需要转换的了,剩下的提示进行就可以啦。

3. svg使用举例:
  

具体用法可以参考 官方说明文档

注意事项:
  1. svg需要转成vector后,Android才能用。
  2. 小图使用svg,大图使用在图片渲染时,会严重占用CPU资源,而且会很久。
  3. 使用android:src属性的地方需要替换为app:srcCompat属性。
  4. 当使用vector asset工具创建矢量图时,若采用的是Local file的psd格式文件时,Android这边是不支持图片的渐变和透明度效果的。
  5. 若是app:srcCompat设置的图片显示不出来,首先查看的你的Activity 继承的是否是继承AppcompatActivity,或者使用android.support.v7.widget.AppCompatImageView 代替 ImageView。
Vector动画参:

Vector动画实现,我在网上找到了几篇比较好的文章,亲测好用,推荐给大家:
https://www.jianshu.com/p/456df1434739
https://www.jianshu.com/p/677da5076115
https://www.jianshu.com/p/677da5076115

你可能感兴趣的:(VectorDrawable使用)