Android 属性动画:一文让你彻底了解和掌握属性动画用法属性动画:一文让你彻底了解和掌握属性动画用法
本文目录本文目录属性动画概述属性动画用法对象动画(ObjectAnimator)方法1:Java代码实现对象动画方法2:XML实现对象动画值动画
(ValueAnimator)PropertyValueHolder动画组合(AnimatorSet)差值器(Interpolator)估值器(TypeEvaluator)
属性动画概述属性动画概述
前面给我们分析了Android中的帧动画和补间动画的特点和用法
Android动画之补间动画用法最全详解
Android 动画之帧动画用法详解
Android官方在Anrdoid 3.0以后又推出了一种新的动画即属性动画,既然前面的帧动画和补间动画能帮助我们实现大部分的Android动画效果,那么官方为什么还要推出
这种新的属性动画呢?
原因原因1::
补间动画作用的对象是View,也就是作用的对象是Android中的控件,如ImageView、Button、TextView等,也可以作用在布局上
如LinearLayout、ConstraintLayout、RelativeLayout等,但是对于一些不是View的对象,无法对这些对象进行动画操作。比如我们要对某个控件的某个属性做进行动画操
作,如其颜色,这个颜色也可以看成一个对象,但其并不是View对象,补间动画就无法实现,属性动画可以对这个颜色值做动画, 能实现一些更加复杂的动画效
果。
原因原因2::
补间动画只是改变了View的视觉效果,而不会真正去改变View的属性
比如我们对一个图片进行AlphaAnimation,并在动画前后打印其值
Log.i("MainActivity","动画开始前mImageView alpha="+mImageView.getAlpha());
animation = new AlphaAnimation(0, 1);
animation.setDuration(2000);
mImageView.startAnimation(animation);
Log.i("MainActivity","动画结束后mImageView alpha="+mImageView.getAlpha());