Android属性动画之ValueAnimation
ValueAnimation是ObjectAnimation类的父类,经过前几天的介绍,相信大家对ObjectAnimation有了 一定的认识,今天就为大家最后介绍一下ValueAnimation,ValueAnimation谷歌提供了更好的过程控制,现在就以一个类计时的小动画为大家简单介绍一下:
应用的布局文件非常简单,只有一个Button按钮,就不再赘述了。下面重点介绍一下具体的实现:
public void init() { button = (Button) findViewById(R.id.fourbutton); button.setOnClickListener(new myButtonListener()); } public class myButtonListener implements View.OnClickListener{ @Override public void onClick(View view) { final ValueAnimator animator = ValueAnimator.ofInt(1, 100); animator.setDuration(5000); animator.setInterpolator(new LinearInterpolator());//线性效果变化 animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { Integer integer = (Integer) animator.getAnimatedValue(); button.setText("" + integer); } }); animator.start(); } }
以上就是小应用的全部代码了,重点在于addUpdateListener()方法的实现,通过重写ValueAnimator.AnimatorUpdateListener()的onAnimationUpdate(ValueAnimator valueAnimator)方法来对动画的整个实现过程进行控制。
到这里关于Android的属性动画实现就介绍完毕了,现在进行一下总结。
1、常用属性:
translationX/translationY:水平|竖直偏移量
rotation/rotationX/rotationY:3D翻转
scaleX/scaleY:X轴|Y轴的缩放
X/Y:具体移动到的点
alpha:透明度
属性动画的这五个属性,类似于以前的value动画的四个属性,不过属性动画框架的执行效率更高,效果更好。
2、常用方法和类:
ValueAnimation、ObjectAnimation类:对于这两个类,相信大家一定不陌生了,更多的功能请查询谷歌API
AnimationUpdateListener、AnimationListenerAdapter:用于做属性动画的监听事件
PopertyValuesHolder:控制动画集合的显示效果、顺序与流程控制
AnimationSet、TypeEvaluators:值计算器和差值计算器
Interpolator:动画显示的变化规律
3、Interpolator的属性:
AccelerateInterpolator:不断加速
DecelerateInterpolator:不断减速
AnticipateInterpolator:前凸
OvershootInterpolator:尾翘
LinearInterpolator:线性变化
BounceInterpolator:自由落体
以上就是Interpolator差值器的6个属性,大家可以在项目中都实验一下,这样可以更好的理解和使用。
到今天Android属性动画的总结就为大家奉献完毕,欢迎交流学习(1453296946@qq.com)。