1.插值器介绍

插值器用来控制属性值的变化速率,也可以理解为动画播放的速度,默认是匀速播放。无论是补间动画、集合动画、属性动画,还是属性动画集合,都可以设置插值器。

2.插值器实现类的说明

插值器的实现类 说明
LinearInterpolator 匀速插值器
AccelerateInterpolator 加速插值器
DecelerateInterpolator 减速插值器
AccelerateDecelerateInterpolator 落水插值器,前半段加速,后半段减速
AnticipateInterpolator 射箭插值器,后退几步再往前冲
OvershootInterpolator 回旋插值器,冲过头再归位
AnticipateOvershootInterpolator 射箭回旋插值器,后退几步再往前冲,冲过头再归位
BounceInterpolator 震荡插值器,类似皮球落地(落地后会弹起几次)
CycleInterpolator 钟摆插值器,以开始位置为中线而晃动(类似摇摆动画,开始位置与结束位置的距离就是摇摆的幅度)

3.估值器介绍

估值器专用于属性动画,主要描述该属性的数值变化要采用什么单位,比如整型数的渐变数值要取整,颜色的渐变数值为ARGB格式的颜色对象,矩形的渐变数值为Rect对象等。

4.估值器实现类的说明

估值器的实现类 说明

IntEvaluator

整型估值器
FloatEvaluator 浮点型估值器
ArgbEvaluator 颜色估值器
RectEvaluator 矩形估值器

5.什么情况下使用估值器

一般情况下,无须单独设置属性动画的估值器,使用系统默认的估值器即可。但是如果属性类型不是int、float、argb三种,只能通过ofObject方法构造属性动画对象,就必须指定该属性的估值器,否则系统不知道如何计算渐变属性值。

6.估值器与属性动画关联关系

属性动画的构造方法 估值器 对应的属性说明
ofInt IntEvaluator 整型类型的属性
ofFloat FloatEvaluator 大部分状态属性,如alpha、rotation、scaleY、translationX、textSize等
ofArgb ArgbEvaluator 颜色,如backgroundColor、textColor等
ofObject RectEvaluator 裁剪范围,如clipBounds

7.代码示例

public class MainActivity extends AppCompatActivity{private View view;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);view = findViewById(R.id.view);// 构造一个在横轴上平移的属性动画ObjectAnimator anim1 = ObjectAnimator.ofInt(view, "backgroundColor", Color.RED,Color.GRAY);anim1.setInterpolator(new AccelerateInterpolator());anim1.setEvaluator(new ArgbEvaluator());anim1.setDuration(3000); // 设置动画的播放时长anim1.start(); // 开始播放属性动画}
}

Android中的插值器与估值器相关推荐

  1. 动画基础2 -- 插值器与估值器

    网上有好多文章,写的太详细了.直接拿过来一篇觉得不错  易懂的 Android 动画:你真的会使用插值器与估值器 https://blog.csdn.net/carson_ho/article/det ...

  2. 动画Anim插值器与估值器

    动画Anim插值器与估值器 插值器Interpolator : 动画Anim是在一段时间持续执行一段操作的过程,而插值器的作用就是求出在这个过程中每一个时间点的具体值,根据动画效果的不同,同一时间计算 ...

  3. Android中插件开发篇之----类加载器

    前言 关于插件,已经在各大平台上出现过很多,eclipse插件.chrome插件.3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附 ...

  4. android中使用SurfaceView做视频播放器--视频切换无缝连接

    Android中的视频用到的有view.SurfaceHolder和view.SurfaceView,还有就是用到了MediaPlayer.OnBufferingUpdateListener和Medi ...

  5. Android中关于ScrollView中有视频播放器VideoView时问题的总结

    1.横竖屏切换问题 问题描述: 网上很多封装的视频播放器,也有横竖屏切换,但是发现在Scrollview中时横屏的高度会无效,因为Scrollview是可滚动控件 解决方案: 1)在切换前记录原始播放 ...

  6. android中怎么播放本地视频播放器,安卓之播放本地视频讲解

    第一种形式:(网络的URL) Intent it = new Intent(); it.setAction(Intent.ACTION_VIEW); it.setData(Uri.parse(&quo ...

  7. Android:插值器(Interpolator)和估值器(TypeEvaluator)的理解和使用

    插值器(Interpolator)和估值器(TypeEvaluator) 插值器和估值器的理解和使用 1.前言 2.插值器简介 2.1.定义 2.2.分类 2.2.1.Linear Interpola ...

  8. Android中的动画详析-kotlin的demo

    Android中的动画可以分为三种,View动画,帧动画,以及属性动画,实际上帧动画也是View动画的一种,只不过二者表现形式不同,View动画是通过不断地对场景里的动画做图像转换从而产生动画效果是一 ...

  9. Android中apk加固完善篇之内存加载dex方案实现原理(不落地方式加载)

    一.前言 时隔半年,困扰的问题始终是需要解决的,之前也算是没时间弄,今天因为有人在此提起这个问题,那么就不能不解决了,这里写一篇文章记录一下吧.那么是什么问题呢? 就是关于之前的一个话题:Androi ...

最新文章

  1. 纸上原型设计 VS 桌面原型工具设计,你更喜欢谁?
  2. 计算机右键功能总结,计算机基础知识:右键快捷菜单功能介绍
  3. chrome浏览器font-size12px无效解决办法
  4. 处理网络故障常用的命令
  5. PopupWindow的使用
  6. 网络流24题 飞行员配对方案问题
  7. paper reference
  8. 卡巴斯基:风险无国界 网络安全从业者要与小网民保持一致
  9. 面 试 细 节 一 点 通
  10. css display: inline-block 去间隙
  11. VS2010安装MSDN Library
  12. python中int函数是什么作用_python中int函数怎么用
  13. java day20【字节流、字符流】
  14. 新华三模拟器STP和RSTP及其MSTP的作用与配置
  15. 整理 linux常用命令及工具
  16. java元数据是什么_Java和大数据是什么关系 杭州哪个就业前景更好
  17. h5小游戏构建架设h5棋牌平台开发制作
  18. app漏洞扫描原理_绿盟--漏洞扫描系统NSFOCUS RSAS-S-v5.0
  19. 微信小程序视频开发教程
  20. Matlab实现图像识别(十)

热门文章

  1. processing图形化编程实例:打飞机游戏
  2. html如何使图片紧靠下方,CSS粘住固定底部的5种方法
  3. 03.设计模式------代理设计模式
  4. 在线答题 手机html样式,jQuery手机端答题代码
  5. 使用Qt5开发桌面程序
  6. SAP ABAP 库存相关表
  7. 左侧导航栏|左侧选项卡实例
  8. html语言中,amp;amp;用来表示,详解HTML5中的amp;amp;lt;templateamp;amp;gt;标签
  9. 菜鸟教程Cpp学习笔记
  10. 使用U2-Net深层网络实现——证件照生成程序