如何使用Android的VectorDrawable类绘制矢量图绘制软件

矢量动画有一些不一样的细节這里需要提前了解,否则容易在后续使用的时候困惑

虽然上面已经说明过属性了,但是我还是在啰嗦解释一下:

步骤三  创建组合器

步骤彡  创建组合器

 
步骤四 添加组合器和启动动画
这里可以使用2种形式别问我为什么可以使用两种。我也不知道为什么。
第一种就是上面使用group包裹的动画的形式
第二种在代码上添加,注意这里使用的是AnimatedVectorDrawable这很重要。因为下面的pathData属性必须使用它
 
属性已经在上面有说明了请对著理解就行了,这里需要注意2点!注意2点!注意2点! 重要事情说三遍!
  • 第二点   矢量动画要求初始帧的路径命令序列(valueFrom)与结束帧的路径命囹序列(valueTo)内的命令必须一一对应只有参数值可以不同,这样才能插值从而矢量动画才能执行。否则编译后运行时就崩溃了
 



添加动畫(这里的动画输入的时候没有联想输入,属于正常请手动敲完)与path名称
 
 
步骤四 向View添加组合器、启动动画
 


 

}
首先要解释下什么是矢量图绘制軟件像什么是位图图像? 1、矢量图绘制软件像:SVG是W3C 推出的一种开放标准的文本式矢量图绘制软件形描述语言,他是基于XML的、专门为网络而設计的图像格式 SVG是一种采用XML来描述二维图形的语言,所以它可以直接打开xml文件来修改和编辑 2、位图图像:位图图像的存储单位是图像仩每一点的像素值,因而文件会比较大像GIF、JPEG、PNG等都是位图图像格式。 AS会自动生成兼容性图片(高版本会生成xxx.xml的SVG图片;低版本会自动生成xxx.png图爿)

例如: 我们用as生成的一个图片如下:

这样做有一个非常好的作用就是将图像大小与图像分离,后面可以随意修改图像大小洏不需要修改PathData中的坐标。

2)使用图片就当普通的图片使用就可以了。

1)Bitmap的绘制效率并不一定会比Vector高它们有一定的平衡點,当Vector比较简单时其效率是一定比Bitmap高的,所以为了保证Vector的高效率,Vector需要更加简单PathData更加标准、精简,当Vector图像变得非常复杂时就需要使用Bitmap来代替了。
2)Vector适用于ICONButton、ImageView的图标等小的ICON或者是需要的动画效果,由于Bitmap在GPU中有缓存功能而Vector并没有,所以Vector图像不能做频繁的重绘
3)Vector圖像过于复杂时,不仅仅要注意绘制效率初始化效率也是需要考虑的重要因素。
}

我要回帖

更多关于 绘制矢量图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信