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)。

最新文章

  1. 【JUC】JDK1.8源码分析之ConcurrentSkipListSet(八)
  2. 浅谈 C#委托
  3. DNS劫持解决方法
  4. JAVA格物致知基础篇:用JAX-RS和Jersey打造RESTful Service
  5. java JDK8 学习笔记——第17章 反射与类加载器
  6. 理解AngularJS的作用域Scope
  7. Type-C设计上的防护
  8. Energy Minimization
  9. 【设计模式 - 6】之桥接模式(Bridge)
  10. 验证整数 Double 转 int 两种写法
  11. 机器学习--kNN算法识别手写字母
  12. Spring整合JMS(一)-基础篇
  13. 设置Nginx+php-fpm显示错误信息
  14. remove() 方法
  15. python接口自动化测试七:获取登录的Cookies,并关联到下一个请求
  16. Chrome插件消息传递实例
  17. 浅谈dubbo的ExceptionFilter异常处理
  18. Swift 类型转换
  19. 【转】为什么说 Java 程序员必须掌握 Spring Boot ?
  20. 【设计模式】工厂模式 Factory Pattern

热门文章

  1. make基础(转)
  2. Android中实现倒计时
  3. 解决ie8(及其以下)不支持getElementsByClassName的问题
  4. 【OC基础语法考试】
  5. CSS导航的魔力——源自温谦老师《CSS彻底研究设计》
  6. poj 1702 三进制问题
  7. javascript定时函数
  8. centos 后台执行C#控制台程序
  9. svn patch用法
  10. 将EnyimMemcached从.NET Core RC1升级至RC2