原文:https://blog.csdn.net/a136447572/article/details/82350119
https://blog.csdn.net/tianjian4592/article/details/44183525
android 动画类型有三种
一、View Animation: 视图动画在古老的Android版本系统中就已经提供了,只能被用来设置View的动画
动画名称 对应的子类 xml中标签 描述
缩放动画 ScaleAnimation < scale /> S
平移动画 TranslateAnimaiton < translate /> T
渐变动画 AlphaAnimation < alpha /> A
旋转动画 RoateAnimation < roate /> R
动画集合 AnimationSet < set /> 是用来存放上面四种动画的集合,容器的概念而已
二、Drawable Animation: 这种动画(也叫Frame动画、帧动画)其实可以划分到视图动画的类别,专门用来一个一个的显示Drawable的resources,就像放幻灯片一样。
在XML中使用标签来定义
在代码中与之对应的类是AnimationDrawable
三、Property Animation: 属性动画只对Android 3.0(API 11)以上版本的Android系统才有效,这种动画可以设置给任何Object,包括那些还没有渲染到屏幕上的对象。这种动画是可扩展的,可以让你自定义任何类型和属性的动画。
ValueAnimator和ObjectAnimator,通过这两个类我们平常遇到的动效大部分都能够加以解决
在Android中开发动效有两套框架可以使用,分别为 Animation 和 Property Animation;
相对来说,Animator比Animation要强大太多,两者之间的主要区别在于:
区别一:需要的Anroid API level不一样
Property Animation需要Android API level 11的支持,当然可以使用nineoldandroids.jar进行兼容,而View Animation则是最原始的版本。
区别二:适用范围不一样
Property Animation适用于所有的Object对象,而View Animation则只能应用于View对象。
区别三,实际改变不一样:
Animation:改变的是view的绘制位置,而非实际属性;
Property Animation:改变的是view的实际属性;
如:用两套框架分别对一个button做位移动画,用animation处理之后的点击响应会在原处,而用Property Animation处理后的点击响应会在最终位置处;