android动画分为View动画和属性动画.
view动画
view动画的有四个类型TranslateAnimation(移动),ScaleAnimation(缩放),RotateAnimation(旋转),AlphaAnimation(渐变)
view动画还可以在一些特殊的场景中使用,比如在ViewGroup中可以控制子元素的出场效果.LayoutAnimation作用于ViewGroup为其子元素制定一些动画
属性动画
属性动画是API11新加入的特性,和View动画不同,它的作用对象进行了扩展,属性动画可以对任何对象做动画,甚至可以没有对象.
ObjectAnimator继承自ValueAnimator
ValueAnimator 类是先改变值,然后 手动赋值 给对象的属性从而实现动画;是 间接 对对象属性进行操作;
ObjectAnimator 类是先改变值,然后 自动赋值 给对象的属性从而实现动画;是 直接 对对象属性进行操作;
VlaueAnimator例子:
ValueAnimator colorAnimation=ObjectAnimator.ofInt(this,"backgroundColor",Red,Blue);
colorAnimation.setDuration(3000);
colorAnimation.setEvaluator(new ArgbEvalutor());
colorAnimation.start();
ObjectAnimator 例子:
ObjectAnimator.ofFloat(imageView, "rotationX", 0f, 360f).setDuration(300).start();
自定义 的属性动画都基本要实现typeEvaluator,目的是告诉动画该怎么执行.ObjectAnimator还可以自定义属性操作,如rotationX这些是系统自带的,对于任何一个obj,只要定义好其属性的get和set方法就可以实现相应的属性操作
网友评论