遇到一个项目需求,想让动画变得更活泼一点,于是想到了动画属性中的Interpolator,写了基本例子测试一下Android提供给我们现成的加速器的效果:

效果 代码中方法 xml中属性
越来越快 AccelerateInterpolator() @android:anim/accelerate_interpolator
越来越慢 DecelerateInterpolator() @android:anim/decelerate_interpolator
先快后慢 AccelerateDecelerateInterpolator() @android:anim/accelerate_decelerate_interpolator
先后退一小步然后向前加速 AnticipateInterpolator() @android:anim/anticipate_interpolator
快速到达终点超出一小步然后回到终点 OvershootInterpolator() @android:anim/overshoot_interpolator
到达终点超出一小步然后回到终点 AnticipateOvershootInterpolator() @android:anim/anticipate_overshoot_interpolator
弹球效果,弹几下回到终点 BounceInterpolator() @android:anim/bounce_interpolator
均匀速度 LinearInterpolator()

@android:anim/linear_interpolator

在实现动画的非线性变化的方法中,常用的一种是为动画添加插值器以改变视图的属性值,从而实现理想的动画效果。Interpolator使用相对简单,下面就只给出一些提供的插值器的默认效果。

在代码中:直接调用AccelerateInterpolator());

Android:interpolator="@android:anim/"
android:shareInterpolator="true"

x < 0.3535< 0.7408< 0.9644)
(x-1.0435)* (x-1.0435)* 8+0.95    (x = 其他)

AnticipateInterpolator
x * x * ((2+ 1) * x - 2)

AccelerateDecelerateInterpolator:
(cos((x+ 1) * π) / 2.0) + 0.5


< 0.5)
0.5*((2*x-2) * (2*x-2) * ((3 + 1) * (2*x-2) + 3)+2)  (0.5 <= x < 1.0)

DecelerateInterpolator:
1.0 - pow((1.0 - x), 2 * 1)

OvershootInterpolator:
(x-1) * (x-1) * ((2+ 1) *( x-1) + 2)+1


最新文章

  1. Linux实战问题解决方案(1):Could not get lock
  2. PHP内核探索之变量(4)- 数组操作
  3. App 即时通讯 SDK
  4. 命令行模式下 MYSQL导入导出.sql文件的方法
  5. Sass中常用的函数
  6. WiFi无线模块学习1——HLK-M30使用
  7. UVA 11796 Dog Distance(向量)
  8. C/C++:多个.cpp文件包括同一个.h头文件定义方法
  9. 菜鸟进阶Android Touch事件传递(四)
  10. 初学Java的那段日子
  11. Python股票分析系列——基础股票数据操作(一).p3
  12. Go Web --- 创建一个Article的增删改查
  13. 「HNOI2016」最小公倍数 解题报告
  14. RabbitMQ疑惑释义
  15. MySql数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)
  16. sql中多层循环示例(有游标)
  17. DS作业01--日期抽象数据类型设计与实现
  18. JavaScript 中函数的参数
  19. HashMap源码解析 非原创
  20. node.js cmd 输入npm-v无反应

热门文章

  1. JVM执行子系统探究——类文件结构初窥
  2. css 阴影使用
  3. 认识Function.prototype.call
  4. python画图axis和axes以及subplot的区别
  5. 转:获取GridView中RowCommand的当前索引行
  6. hibernate源码分析1-保存一个对象
  7. 【转】基于 Apache 在本地配置多个虚拟主机
  8. 大数据学习——KETTLE入门学习——kettle安装
  9. 使用mysql监视器即命令行下的mysql
  10. Baum Welch估计HMM参数实例