美文网首页
动画插值器和估值器笔记

动画插值器和估值器笔记

作者: Johnson_Coding | 来源:发表于2019-10-17 16:36 被阅读0次
image.png
1. 插值器(Interpolator)

1.1 简介
定义:一个接口
作用:设置 属性值 从初始值过渡到结束值 的变化规律
如匀速、加速 & 减速 等等
即确定了 动画效果变化的模式,如匀速变化、加速变化 等等
1.2 应用场景
实现非线性运动的动画效果

非线性运动:动画改变的速率不是一成不变的,如加速 & 减速运动都属于非线性运动

1.3 具体使用
a. 设置方式
插值器在动画的使用有两种方式:在XML / Java代码中设置:

设置方法1:在 动画效果的XML代码中设置插值器属性android:interpolator
设置方法2:在 Java 代码中设置

b. 系统内置插值器类型
Android内置了 9 种内置的插值器实现:
系统内置的插值器如下:

作用 资源ID 对应的Java类
动画加速进行 @android:anim/accelerate_interpolator AccelerateInterpolator
快速完成动画,超出再回到结束样式 @android:anim/overshoot_interpolator OvershootInterpolator
先加速再减速 @android:anim/accelerate_decelerate_interpolator AccelerateDecelerateInterpolator
先退后再加速前进 @android:anim/anticipate_interpolator AnticipateInterpolator
先退后再加速前进,超出终点后再回终点 @android:anim/anticipate_overshoot_interpolator AnticipateOvershootInterpolator
最后阶段弹球效果 @android:anim/bounce_interpolator BounceInterpolator
周期运动 @android:anim/cycle_interpolator CycleInterpolator
减速 @android:anim/decelerate_interpolator DecelerateInterpolator
匀速 @android:anim/linear_interpolator LinearInterpolator

系统默认的插值器是AccelerateDecelerateInterpolator,即先加速后减速

系统内置插值器的效果图:
image
自定义插值器

1.补间动画 实现 Interpolator接口;属性动画实现TimeInterpolator接口。2.TimeInterpolator接口是属性动画中新增的,用于兼容Interpolator接口,这使得所有过去的Interpolator实现类都可以直接在属性动画使用。

自定义插值器前,我们参考系统内置差值器:

匀速插值器:LinearInterpolator
先加速再减速 插值器:AccelerateDecelerateInterpolator

2. 估值器(TypeEvaluator)

2.1 简介

定义:一个接口
作用:设置 属性值 从初始值过渡到结束值 的变化具体数值

1.插值器(Interpolator)决定 值 的变化规律(匀速、加速、减速),即决定的是变化趋势;而接下来的具体变化数值则交给而估值器。
2.属性动画特有的属性。

2.2 应用场景

协助插值器 实现非线性运动的动画效果。

相关文章

网友评论

      本文标题:动画插值器和估值器笔记

      本文链接:https://www.haomeiwen.com/subject/zfcvmctx.html