Android svg动画-线图动画

  在Android 5.X中,Google大量引入线图动画。当页面发生改变时,页面上的icon不再是生硬的切换,而是通过非常生动的动画效果,转换成另一种形态。


Android svg动画-线图动画_第1张图片

  要实现如图的的效果,首先要创建一个静态的svg图形,即静态的VectorDrawable。



    
        
        
    


  path1与和path2分别绘制了两条直线,每条直线有三个点来控制,即起点、中点和终点,形成了初始状态。
  接下来实现path1的变换的objectAnimator动画。



    

  path2的动画



    

  这里需要注意的是:在svg的路径变换属性动画中,变换前后的节点数必须相同,这也是为什么前面需要使用三个点来绘制一条直线的原因,因为要使用中点来进行动画变换。
  有了VectorDrawable和ObjectAnimator,剩下的只需要使用AnimatedVectorDrawable来将它们粘合在一起。



    
    

  最后在代码中启动动画即可

mImageView = (ImageView) findViewById(R.id.id_imageView);
((Animatable)mImageView.getDrawable()).start();

你可能感兴趣的:(Android svg动画-线图动画)