Android动画中Interpolator 详解和演示
遇到一个项目需求,想让动画变得更活泼一点,于是想到了动画属性中的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


Android动画中Interpolator 详解和演示的更多相关文章
- Android动画系列 - PropertyAnim 详解
前言:上一篇文章传统View动画与Property动画基础及比较简单对Android动画系统的基础做了介绍,本篇文章将对PropertyAnimation进行全面深入的探讨,本篇文章可以分为两大块,从 ...
- Android自动化测试中Monkeyrunner详解
之前有写过monkey测试详细说明,几天就说说monkeyrunner. monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器 ...
- [转]ANDROID L——Material Design详解(动画篇)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 转自:http://blog.csdn.net/a396901990/article/de ...
- Android中Context详解 ---- 你所不知道的Context
转自:http://blog.csdn.net/qinjuning/article/details/7310620Android中Context详解 ---- 你所不知道的Context 大家好, ...
- Android中Context详解 ---- 你所不知道的Context(转)
Android中Context详解 ---- 你所不知道的Context(转) 本文出处 :http://b ...
- 【转】declare-styleable的使用(自定义控件) 以及declare-styleable中format详解
原文网址:http://www.cnblogs.com/622698abc/p/3348692.html declare-styleable是给自定义控件添加自定义属性用的 1.首先,先写attrs. ...
- 《Android NFC 开发实战详解 》简介+源码+样章+勘误ING
<Android NFC 开发实战详解>简介+源码+样章+勘误ING SkySeraph Mar. 14th 2014 Email:skyseraph00@163.com 更多精彩请直接 ...
- ANDROID L——Material Design详解(UI控件)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...
- Cordova 打包 Android release app 过程详解
Cordova 打包 Android release app 过程详解 时间 -- :: SegmentFault 原文 https://segmentfault.com/a/119000000517 ...
随机推荐
- INDEX && PRIMARY KEY && UNIQUE KEY
When I have do some sql tody, some confusion come up to me. Its about the index && PRIMARY K ...
- github仓库主页介绍
- js---post与get请求的区别
request获取请求参数 最为常见的客户端传递参数方式有两种: 浏览器地址栏直接输入:一定是GET请求: 超链接:一定是GET请求: 表单:可以是GET,也可以是POST,这取决与<form& ...
- python + selenium - 自动化环境搭建
1. 安装python (1)下载地址:https://www.python.org/downloads/windows/ (2)安装方式:默认安装即可 (3)环境变量配置:打开[系统属性]-[环境变 ...
- Spring中的注解 @Qualifier
在使用Spring框架中@Autowired标签时默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个.当找不到一个匹配的 Bean ...
- Bash Command 1: find
GNU find searches the directory tree rooted at each given starting-point by evaluating the given exp ...
- NOJ——1559Jump to the Top of Mountain(简单暴力DFS+渣渣代码)
[1559] Jump to the Top of Mountain 时间限制: 1000 ms 内存限制: 65535 K 问题描述 Have you played a game named Min ...
- [暑假集训--数位dp]hdu3709 Balanced Number
A balanced number is a non-negative integer that can be balanced if a pivot is placed at some digit. ...
- 【POJ3498】March of the Penguins(最大流,裂点)
题意:在靠近南极的某处,一些企鹅站在许多漂浮的冰块上.由于企鹅是群居动物,所以它们想要聚集到一起,在同一个冰块上.企鹅们不想把自己的身体弄湿,所以它们在冰块之间跳跃,但是它们的跳跃距离,有一个上限. ...
- 利用jenkins和hockey组织iOS持续交付过程
1. jenkins可以单独作为web应用部署和启动,但建议将其部署在tomcat上,可以方便的管理其他一些web应用,下面讲解如何在Mac设备上安装tomcat 到tomcat官网下载适用于Mac设 ...