android+矢量图+插件,如何玩转Android矢量图VectorDrawable

本文介绍了如何在Android项目中使用矢量图,包括兼容低版本的方法,使用vector asset studio创建矢量图,以及如何通过animated-vector-drawable实现矢量图动画。通过示例展示了矢量图与PNG图的对比,以及矢量图动画的实现步骤。
摘要由CSDN通过智能技术生成

从5.0(api等级21)开始,android开始支持矢量图了。关于什么是矢量图以及矢量图有什么优缺点不在本文的涉及范围之内,具体可以参考矢量图百科。不过这里要提一下它的优点:

保存最少的信息,文件大小比位图要小,并且文件大小与物体的大小无关任意放大矢量图形,不会丢失细节或影响清晰度,因为矢量图形是与分辨率无关的。

从以上两个优点来看,在项目中使用矢量图至少可以缩小我们apk包的尺寸,而且可以在屏幕适配时提供很大的方便,因为矢量图是分辨率无关的。

前面也说了,矢量图从21才开始支持。那么如果我想往下兼容改怎么办呢?这个问题要放在以前的话,我会说github下就有你要的答案。但现在我不会这么说,因为前段时间google升级了support library,官方向后兼容了矢量图的使用。要问兼容到哪个版本,我告诉你矢量图兼容到api7,矢量图动画兼容到api11(是不是已经满足了你的使用)。

好了,下面我们就来说说怎么在项目中使用矢量图。

一、vectordrawable的使用按照官方的说法,要在低版本上使用矢量图,需要在项目中引入新的兼容库support-vector-drawable,并且appcompat-v7库的版本要在23.2.0+(写文章这会23.2.1已经发布了)。而且你还要修改下gradle的相关配置,不要让gradle在构建的时候为你在低版本(api21以下)的情况下生成针对于不同密度的png文件,因为android studio1.4的时候支持了矢量图。

修改appcompat-v7的版本

compile 'com.android.support:appcompat-v7:23.2.0'note: 这里我只引入了23.2.0版本的appcompat-v7库,同步gradle后就编译出了support-vector-drawable-23.2.0和animated-vector-drawable-23.2.0这两个库。

修改gradle配置文件

如果你的gradle插件的版本为2.0以下,你应该这么修改

android {

defaultconfig {

// 不让gradle自动生成不同屏幕分辨率的png图

generateddensities = []

}

aaptoptions {

additionalparameters "--no-version-vectors"

}

}

如果你的gradle插件版本是2.0+,你 应该这么修改

android {

defaultconfig {

vectordrawables.usesupportlibrary = true

}

}

经过上面这几步的修改,你就可以在项目中使用矢量图了。那么,下面我们就正式来说说怎么使用。

andro

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值