今天第一次接触到属性动画。参考着

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38067475

的博客,自己学习下。

它的区别跟View Animation的区别现在还不是很清除,先跳过这个阶段,直接在代码中体验二者的不同吧。

一、ObjectAnimator

它的使用最简单,感觉跟View Animation相似,只是它的使用要比前者简单的多,一句代码就搞定了,看如下代码跟效果

ObjectAnimator.ofFloat(view, "rotationY", 0.0f, 360.0f).
setDuration(2000)
.start();

解释

ofFloat的参数的意义

view:需要添加动画的控件

"rotationY"-这个是动画效果(绕y轴旋转)(如果不是系统提供的动画样式,那么它不会报错,而是没有效果。但是,它的监听事件会执行。看下面介绍)

其他样式

"alpha"-透明度

0.0f(360.f)-是开始跟结束角度

监听事件

objectAnimator.addUpdateListener(new AnimatorUpdateListener() {

            @Override
public void onAnimationUpdate(ValueAnimator arg0) {
// TODO Auto-generated method stub
Log.e("123", "arg0==="+arg0.getAnimatedValue());
}
});

看打印结果

   - ::03.990: E/(): arg0===1.0
- ::04.004: E/(): arg0===1.0
- ::04.023: E/(): arg0===0.9997773
- ::04.042: E/(): arg0===0.9991095
- ::04.061: E/(): arg0===0.99799716
- ::04.081: E/(): arg0===0.9964413

它其实就是实时监控透明度的变化(即使你的动画类型不存在,这个过程执行,只是界面上没有什么变化)

如果你想利用ObjectAnimator执行多条语句,你可以使用PropertyValuesHolder 类

如下方法

public void startAnimatorHode(View view){

PropertyValuesHolder pv1 = PropertyValuesHolder.ofFloat("alpha", 1.0f,0.0f);
PropertyValuesHolder pv2 = PropertyValuesHolder.ofFloat("scaleX", 1.0f,0.0f);
PropertyValuesHolder pv3 = PropertyValuesHolder.ofFloat("scaleY", 1.0f,0.0f);
objectAnimator = ObjectAnimator.ofPropertyValuesHolder(view, pv1,pv2,pv3);
objectAnimator.setDuration(2000);
objectAnimator.start();
}

它会同时执行多条语句

2

最新文章

  1. dom解析和sax解析的区别及优缺点
  2. 看看 JDK 8 给我们带来什么(转)
  3. qsort函数用法(转)
  4. iOS开发之Xcode 如何使用API帮助
  5. 从原理上搞定编码(四)-- Base64编码
  6. Linux suse x86_64 环境上部署Hadoop启动失败原因分析
  7. AutoCAD图形打印出图片 C#
  8. BootStrap2学习日记5---列表
  9. FreeBSD更换默认csh为bash
  10. 反引号backtick中输入多个命令
  11. Developing Backbone.js Applications
  12. jQuery 在Table中选择input之类的东西注意事项
  13. Linux下安装单机版zookeeper(和dubbo配合验证)和redis(用图形化界面连接验证)
  14. selenium对百度进行登录注销
  15. acl权限命令
  16. Java开发笔记(八)五种算术运算符
  17. H5 35-背景平铺属性
  18. HDU - 5119 Happy Matt Friends(dp)
  19. docker 端口映射 及外部无法访问问题
  20. 剑指offer例题——二进制中1的个数

热门文章

  1. CSU 1249 竞争性酶抑制剂和同工酶
  2. ArcGIS api for javascript——地图配置-定制缩放动画,定制缩放框
  3. Oracle TIMESTAMP的处理
  4. 转:Mac下搭建svn服务器和XCode配置svn
  5. javascript对象如何使用
  6. hbase启动报错:Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
  7. secureCRT 小技巧
  8. Hexo 相册实践
  9. MySQL事务(event scheduler)的学习【事务创建之后,没有运行的问题】
  10. 启动和停止Service