Android属性动画(二) ------ 站在巨人的肩膀上学习总结
2016-05-04 23:07
423 查看
属性动画的高级用法
详情请看,郭林大神博客 /article/1562103.html
前奏:TypeEvaluator
一:ValueAnimator的高级用法
二:ObjectAnimator的高级用法
详情请看,郭林大神博客 /article/1562103.html
前奏:TypeEvaluator
TypeEvaluator的作用就是告诉系统如何从初始值过渡到结束值,不管是ValueAnimator还是ObjectAnimator的 ofFloat()方法,其实他的内部系统内置了一个FloatEvaluator,从而实现初始值过渡结束值,FloatEvalutor的代码 public class FloatEvaluator implements TypeEvaluator { public Object evaluate(float fraction, Object startValue, Object endValue) { float startFloat = ((Number) startValue).floatValue(); return startFloat + fraction * (((Number) endValue).floatValue() - startFloat); } } 总结:FloatEvaluator实现了TypeEvalutor接口,重写evaluate()方法,该方法的三个参数 1,fraction 非常重要 表示动画的完成度,根据它计算当前动画的值应该是多少 2,起始值 3,结束值 当前动画值 = (结束值 - 起始值)*fraction +起始值
一:ValueAnimator的高级用法
ValueAnimator和ObjectAnimator的ofFloat(),ofInt()方法,分别是对浮点型和整形数据进行动画的操作,但是他们还有一个ofObject()方法 这个方法是对任意一个对象信息动画的操作,对象的动画操作很复杂,因为系统不知道如何从初始对象到结束对象, 所以现在我们需要自定一个MyEvaluator实现TypeEvaluator 从而可以告知系统如何进行过度(自定义Evaluator实现过度,很重要哦) 如何使用? ValueAnimator anim = ValueAnimator.ofObject(new MyPointEvaluator(), point1, point2); anim.setDuration(5000); anim.start(); //如此,开始对象动画
二:ObjectAnimator的高级用法
补间动画只能实现四种动画效果,功能很死,没有扩展性可言, 比如我们想让View进行颜色的动态改变,只能通过属性动画实现 ObjectAnimator内部工作机制通过get和set来确定寻找的属性,然后自定义ColorEvaluator,然后调用即可
相关文章推荐
- android对话框介绍
- ImageView的属性android:scaleType作用
- Android定时器之Handler的postDelyed方法
- android坐标
- 安卓真机模拟 com.android.ddmlib.AdbCommandRejectedException: device offline
- Android Studio教程从入门到精通
- 帧动画和补间动画
- Android Studio开发环境搭建
- android-使用AsyncTask做下载进度条
- Android开发使用的常见第三方框架汇总
- 关于Android在线支付Alipay(支付宝)开发的经验分享,androidalipay
- Android Studio真机调试时提示the selected device is incompatible
- Android studio使用小技巧
- 浅谈Android系统开发中NDK LOG的使用
- Android--design--DrawerLayout
- 友盟社会化Android组件之第三方登录
- Android定位和地图开发实例
- Android 原型模式
- Android开发超级工具介绍traceview
- Android-SQLiteDatabase数据存储