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 ...
随机推荐
- 【Netty】NIO框架Netty入门
Netty介绍 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. 也就是说,Netty ...
- ThreeJs 3D 全景项目开发总结
本文来自网易云社区 作者:唐钊 项目背景 那是在一个毫无征兆的下午,我还沉浸在 vue 的世界中,突然编辑跑过来说N的新官网想做一些3D全景的东西,一开始其实我的内心是拒绝的,一是没怎么实质性做过 W ...
- 使用代码生成器“代码工厂”快速生成B/S程序代码
开发目的: 自动生成C#.HTML.JS.Ajax 代码 .可以节省大量的时间来做业务逻辑的代码,那些重复的代码就不需要....了 环境支持: 硬件环境:window .VS2010+.支持SQLSe ...
- Wordpress入门笔记
简单介绍一下wordpress个人操作,建议安装中文版. 登入后台管理者页面, 浏览器地址栏输入 (线上) http://XXXX.com/wp-login.php (本地) ht ...
- Tensorflow 笔记 -- tensorboard 的使用
Tensorflow 笔记 -- tensorboard 的使用 TensorFlow提供非常方便的可视化命令Tensorboard,先上代码 import tensorflow as tf a = ...
- android 解压缩mac zip压缩文件
之前被android unzip坑了一次,在此记录 使用java zip解压zip文件出现 java.util.zip.ZipException: unknown format 错误,zip文件在系统 ...
- [笔记]BFS算法的python实现
#!/usr/bin/env python # -*- coding:utf-8 -*- graph = {} graph["you"] = ["alice", ...
- JS进行人民币大小写转换
//数字金额大写转换(可以处理整数,小数,负数) function upDigit() { digit=$("#digit").html(); n=digit.replace(/\ ...
- HDU——1405The Last Practice(试手map)
The Last Practice Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- java面试题之BIO、NIO、AIO的应用场景
定义: 1.BIO:同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时,服务器就启动一个线程来处理,如果这个连接不处理任何事情会造成不必要的线程开销,可以通过线程池机制改善. 2.NI ...