Android属性动画(三):SVG+XML+drawable相结合

有几天没更新啦,最近一级忙qaq

一、关系:

经常听到这个,这个网站可以在线制作SVG:http://editor.method.ac/

VectorDrawable和AnimatedVectorDrawable 用来支持SVG:

VectorDrawable: 创建基于XML的SVG图形;

AnimatedVectorDrawable 实现动画效果;

二、 SVG:

最小单位:path

组合:group

声明标签:vector

例如:



    
        
        
    

 注意:

1、height、width表示该SVG图形的具体大小,而viewportHeight、viewportWidth表示SVG图形划分的比例;

2、fillColor中不能引用资源文件:@Color/colorname 否则会报错;

直接写#xxxxxx

3、pathData就是绘制SVG图形所用到的指令,这里是移动画笔到(25,50)后填充圆弧;

 

三、AnimatedVectorDrawable

胶水一样的粘住静态的VectorDrawable和动态的obejctAnimator:

 

Android属性动画(三):SVG+XML+drawable相结合_第1张图片

 使用方式:

标签:



    

注意:这里的name名称必须与vectorDrawable中的name属性一致,这样系统才能找到要实现动画的元素。

@animator/animator:


标签和标签中添加了rotation、fillColor、pathData等属性,那么在objectAnimator中,就可以通过指定android:propertyName="XXXX"属性来选择控制哪一种属性,通过android:valueFrom="XXX"和android:valueTo="XXX"属性,可以控制动画的起始值。唯一需要注意的是,如果指定属性为pathData,那么需要添加一个属性——android:valueType="pathType"来告诉系统进行pathData变换。类似的情况,可以使用rotation进行旋转动画,使用fillColor实现颜色动画,使用pathData进行形状、位置变化。

 

最后定义在src中即可:

java代码:

((Animatable) imageView.getDrawable()).start();

效果异常好看呢

明天研究研究SVG的path画法 做出更好看的效果~晚安

你可能感兴趣的:(Android群英传学习笔记)