Android 动画 Interpolator插值器
来源:互联网 发布:梯度下降算法 3维图像 编辑:程序博客网 时间:2024/05/17 17:58
插值器
首先要了解为什么需要插值器,因为在补间动画中,我们一般只定义关键帧(首帧或尾帧),然后由系统自动生成中间帧,生成中间帧的这个过程可以成为“插值”。插值器定义了动画变化的速率,提供不同的函数定义变化值相对于时间的变化规则,可以定义各种各样的非线性变化函数,比如加速、减速等。下面是几种常见的插值器:
插值器使用法:
<set android:interpolator="@android:anim/accelerate_interpolator">
...
</set>
个性化插值器:
如果系统提供的插值器不能满足需要,可以通过修改插值器的属性优化,比如修改AnticipateInterpolator的加速速率,调整CycleInterpolator的循环次数等。
常见的插值器可调整的属性:
<accelerateDecelerateInterpolator> 无
<accelerateInterpolator> android:factor 浮点值,加速速率,默认为1
<anticipateInterploator> android:tension 浮点值,起始点后退的张力、拉力数,默认为2
<anticipateOvershootInterpolator> android:tension 同上 android:extraTension 浮点值,拉力的倍数,默认为1.5(2 * 1.5)
<bounceInterpolator> 无
<cycleInterplolator> android:cycles 整数值,循环的个数,默认为1
<decelerateInterpolator> android:factor 浮点值,减速的速率,默认为1
<linearInterpolator> 无
<overshootInterpolator> 浮点值,超出终点后的张力、拉力,默认为2
使用修改插值器属性法
在/res/anim下创建一个XML文件(以修改overshootInterpolator属性为例)命名为my_overshoot_interpolator.xml
<?xml version="1.0" encoding="utf-8"?>
<overshootInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:tension="7.0"/>
引用到自定义的插值器
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@anim/my_overshoot_interpolator"
.../>
自定义插值器
如果以上的修改系统插值器属性仍无法满足需要,可以自定义插值器。
转载自: http://blog.csdn.net/chenghai2011/article/details/7206607
- Android 动画 Interpolator插值器
- android Interpolator动画插值器
- android 动画的Interpolator插值器
- Android动画--Interpolator(插值器)
- Android动画-Interpolator(插值器)大全
- Android自定义动画插值器Interpolator
- android 动画的Interpolator插值器
- Android动画之Interpolator(插值器)
- Android属性动画Interpolator(插值器)
- Android自定义控件:动画类---插值器Interpolator
- android 动画系列:插值器-Interpolator
- android初识属性动画---Interpolator插值器
- android动画之Interpolator
- android动画控制 Interpolator
- android动画interpolator插补器
- android 动画interpolator简介
- android动画:interpolator效果
- Android动画进阶(Interpolator)
- UVA 572- Oil Deposits(简单dfs)
- Code[vs] 1576 最长严格上升子序列
- Xcode 6.1 编译出现Unknown type name 'UIImage',解决办法
- 一无所有创业,他赚了8亿元
- poj 3368 离散化+线段树+二分
- Android 动画 Interpolator插值器
- mapreduce编程:多表关联
- SVN服务器版本更新后Axure共享文件的检出
- cocos2d-x 3.2命令行生成apk与ipa
- Leetcode:Largest Number
- sysctl命令详解
- Attribute在.net编程中的应用(一)
- 屏幕适配经验总结
- HAX is not installed on this machine (/dev/HAX is missing) 解决办法