Property-属性动画
2024-08-29 23:10:01
今天第一次接触到属性动画。参考着
转载请标明出处: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
最新文章
- dom解析和sax解析的区别及优缺点
- 看看 JDK 8 给我们带来什么(转)
- qsort函数用法(转)
- iOS开发之Xcode 如何使用API帮助
- 从原理上搞定编码(四)-- Base64编码
- Linux suse x86_64 环境上部署Hadoop启动失败原因分析
- AutoCAD图形打印出图片 C#
- BootStrap2学习日记5---列表
- FreeBSD更换默认csh为bash
- 反引号backtick中输入多个命令
- Developing Backbone.js Applications
- jQuery 在Table中选择input之类的东西注意事项
- Linux下安装单机版zookeeper(和dubbo配合验证)和redis(用图形化界面连接验证)
- selenium对百度进行登录注销
- acl权限命令
- Java开发笔记(八)五种算术运算符
- H5 35-背景平铺属性
- HDU - 5119 Happy Matt Friends(dp)
- docker 端口映射 及外部无法访问问题
- 剑指offer例题——二进制中1的个数
热门文章
- CSU 1249 竞争性酶抑制剂和同工酶
- ArcGIS api for javascript——地图配置-定制缩放动画,定制缩放框
- Oracle TIMESTAMP的处理
- 转:Mac下搭建svn服务器和XCode配置svn
- javascript对象如何使用
- hbase启动报错:Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
- secureCRT 小技巧
- Hexo 相册实践
- MySQL事务(event scheduler)的学习【事务创建之后,没有运行的问题】
- 启动和停止Service