SVG-Vector-ObjectAnimator 实现的有趣而强大的动画效果

开始上手

废话不多说,直接上代码块

1、res/drawable/splash_logo.xml,静态SVG图片

核心代码就是这个pathData,此代码参考https://github.com/18601949127/DiDiCallCar,滴滴出行logo动画




    

2、res/animator/logo_animator.xml,动画效果



3、res/drawable/logo_anim.xml,把上面两个结合起来





4、res/layout/activity_main.xml

  

5、MainActivity.java,这里可以用handler.postDelay一个runnable配合动画的播放,来达到实现欢迎动画的效果

 ImageView logo = findViewById(R.id.image_logo);
        AnimatedVectorDrawableCompat animatedVectorDrawableCompat = AnimatedVectorDrawableCompat.create(
                this, R.drawable.logo_anim
        );
        logo.setImageDrawable(animatedVectorDrawableCompat);
        ((Animatable) logo.getDrawable()).start();

或者

AnimatedVectorDrawable anim =
            (AnimatedVectorDrawable) getResources().getDrawable(R.drawable.logo_anim);
ImageView logo = findViewById(R.id.image_logo);
logo.setImageDrawable(anim);
anim.start();

参考博文

  • Android Vector曲折的兼容之路
  • SVG学习–AnimatedVectorDrawable的使用
  • 动手开发一个滴滴出行,是的,你没有看错!

你可能感兴趣的:(Android,Java)