Android-->你真的会用属性动画(ValueAnimator)么
来源:互联网 发布:高中信息技术编程基础 编辑:程序博客网 时间:2024/05/21 06:55
讲真, ValueAnimator并不能当做属性动画来理解, 因为这样会限制自己对它的理解, 也会限制对它的使用范围.
This class provides a simple timing engine for running animations which calculate animated values and set them on target objects.
官方描述文档其实也说明了这一点.
其实:ValueAnimator
本质上是, 在一段时间之内, 某个数值的变化曲线.
其本身是没有任何动画效果. 可以通过addUpdateListener监听动画值的变化, 也可以通过getAnimatedValue拿到当前动画的值.
而之所以
ObjectAnimator .ofFloat(view, "rotationX", 0.0F, 360.0F) .setDuration(500) .start();
这样使用之后, 会有动画的存在. 是因为ObjectAnimator通过你传的对象
和属性
参数, 帮你调用了属性的set
方法(这个过程是通过反射实现的), 如果你传了一个不存在的属性, 那么无效果的(当然你也可以自定义一个属性).
其实说白了:ValueAnimator就是一个
Value
,在Duration
时间内, 根据Interpolator
, 做出的变化过程.
api 16 的时候, 谷歌又添加了 TimeAnimator这个动画控制了, 一段时间之内, 时间的变化曲线.
所以
完全可以这样使用它:
val anim = ObjectAnimator.ofFloat(3f, 1f)anim.duration = 300anim.interpolator = LinearInterpolator()anim.addUpdateListener { progress = it.animatedValue as Float //progress 的返回是 3-1的值. 可以在这个回调中, 执行想要的任何操作. 包括动画. Log.i("Demo", "Progress:" + progress)}anim.start()
联系作者
加群传送门
请使用QQ扫码加群, 小伙伴们在等着你哦!
关注我的公众号, 每天都能一起玩耍哦!
阅读全文
1 0
- Android-->你真的会用属性动画(ValueAnimator)么
- android 属性动画(ValueAnimator)
- Android属性动画 ValueAnimator
- android ValueAnimator 属性动画的用法
- android 动画 属性动画 ValueAnimator
- Android属性动画之ValueAnimator
- Android属性动画之ValueAnimator
- Android 动画之属性动画ValueAnimator
- android属性动画 —— ValueAnimator和ObjectAnimator的例子
- Android 属性动画ValueAnimator和ObjectAnimator的高级用法
- Android属性动画,ValueAnimator和ObjectAnimator的高级用法
- Android 属性动画valueAnimator和objectAnimator的使用
- Android 属性动画ValueAnimator和ObjectAnimator的高级用法
- Android开发 之 属性动画(自定义ValueAnimator的TypeEvaluator)
- 你真的会用Android Studio么
- Android 开发者,你真的会用textview(maxEms和maxLength)的属性吗?
- Android 开发者,你真的会用textview(maxEms和maxLength)的属性吗?
- Android 开发者,你真的会用textview(maxEms和maxLength)的属性吗?
- MyEclipse10破解后续~~~~破解不成功
- BZOJ 2794: [Poi2012]Cloakroom 询问离线 背包dp
- servlet
- office 系列产品 -- visio 2013 / project 2013 破解工具
- 腾讯云centos7安装javaweb开发环境(jdk7,tomcat7,mysql5.7)
- Android-->你真的会用属性动画(ValueAnimator)么
- 用递归法计算阶乘
- Servlet
- HDU 2054 A == B?
- BZOJ4596: [Shoi2016]黑暗前的幻想乡
- 时空权衡——斐波那契数列(Time/Space Tradeoff
- ES6--class
- Spring框架的第三天
- Java2017学习路线