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属性动画的总结就为大家奉献完毕,欢迎交流学习。
最简单的Ubuntu Touch & Android 双系统安装方式
在Nexus上实现Ubuntu和Android 4.4.2 双启动
Ubuntu 14.04 配置 Android SDK 开发环境
64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细)