属性动画的一些说明
来源:互联网 发布:激活码淘号软件 编辑:程序博客网 时间:2024/05/29 09:15
- 属性动画的一些说明:
- 1. ObjectAnimator 对象动画,当一个view同时拥有某一属性的getter、setter方法时,则可以使用该动画,来操作这一属性。
- 2. ValueAnimator 操作的范围比较广,通过Interpolator和TypeEvaluator得到某一时间内的值;再用监听器,监听值的变化,做相应的操作。
- 3. ValueAnimator 和ObjectAnimator(它是前者的子类)的静态的一些of方法,创建自身对象。
- 也可以new 一个无参的对象,再设置相应的values。
- ofInt()、ofFloat()、ofObject()、ofPropertyValuesHolder()。
- 这几个方法的实现也就是new 一个无参的对象,再设置相应的values。
- 4. ValueAnimator 的调用流程:
- a. 初始化ValueAnimator后,设置一个values。这时就有了一个PropertyViewHolder对象pvh。
- 可以直接调用setValues设置它PVH对象;或setInt|Float|ObjectValues
- 方法内部会生成一个PVH
- PVH内部维护一个KeyframeSet和TypeEvaluator。PVH根据不同的values来初始化KeyframeSet和
- TypeEvaluator实现方法中的startValue和endValue就从KeyframeSet中的Keyframe中获取
- b. 设置TypeEvaluator,传递到pvh中。
- c. 设置Interpolator。 ValueAnimator中默认的插入器为AccelerateDecelerateInterpolator
- d. ValueAnimator的animationFrame(long currentTime),当有动画应该结束时返回true,否则返回false。
- 方法内,算出动画运行的时间比率fraction,再调用animateValue(float fraction)。
- e. ValueAnimator的animateValue(float fraction),调用插入器,得到一个按某一规则得到的fraction,
- 再调用 pvh.calculateValue(fraction);pvh调用KeyframeSet的getValue(fraction);
- KeyframeSet内部再调用TypeEvaluator的evaluate(fraction,T startValue, T endValue)。
- startValue、endValue是通过Keyframe的getValue()来获取的。
- f. evaluate(),方法内拿到了时间比率fraction,可以自行根据一定规则,返回value T。
- g. 给ValueAnimator添加一个AnimatorUpdateListener。监听的回调方法:
- onAnimationUpdate(ValueAnimator animation) {
- T obj = (T)animation.getAnimatedValue();//取得计算器计算出的某段时间内的T值。
- // 操作 obj
- }
0 0
- 属性动画的一些说明
- 常用的一些属性说明
- toolbar的一些属性说明
- android 属性动画的一些经验
- Chart里的一些属性说明
- ServerVariables属性(参数)的一些说明
- MOSS LIST的一些属性说明
- Margin 属性的一些边界情况说明
- ExtJS下grid的一些属性说明
- ExtJS下grid的一些属性说明
- Android.mk的一些属性说明(转载)
- grid一些属性说明
- 一些layout属性说明
- Highcharts一些属性说明
- UI动画属性及其说明
- 常用的一些log4j的配置的属性进行说明
- UIViewController的一些属性(CATrasition转场动画)
- 对属性动画和事件分发机制的一些理解
- Codeforces 598D Igor In the Museum (DFS)
- DA14580与ADXL362应用
- JSON Editor Online
- ubuntu下python3.4安装numpy
- java.lang.OutOfMemoryError: Java heap space解决方法
- 属性动画的一些说明
- 程序员修炼的三层境界,你属于哪一层?
- 自学java 答答租车系统
- 控件包含代码块(即 <% ... %>),因此无法修改控件集合。
- 打印九九乘法表
- 使用Json数据进行服务器与android端交互
- thrift示例及性能测试
- UVA 11388 GCD LCM
- 安卓数据保存,保存到文件(转自安卓官方培训中文版)