插值器
来源:互联网 发布:刺客信条康纳 知乎 编辑:程序博客网 时间:2024/06/05 00:41
插值器
首先要了解为什么需要插值器,因为在补间动画中,我们一般只定义关键帧(首帧或尾帧),然后由系统自动生成中间帧,生成中间帧的这个过程可以成为“插值”。插值器定义了动画变化的速率,提供不同的函数定义变化值相对于时间的变化规则,可以定义各种各样的非线性变化函数,比如加速、减速等。下面是几种常见的插值器:
插值器使用法:
<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"
.../>
自定义插值器
如果以上的修改系统插值器属性仍无法满足需要,可以自定义插值器。
- 插值器
- 插值器
- 插值器
- 插值器Interpolator
- 动画插值器
- android 插值器
- 动画插值器
- 自定义插值器
- scala插值器
- AGG 插值器(Interpolator)
- 系统 Animation 插值器
- android动画插值器
- android 动画之插值器
- interpolator(插值器)详解一
- interpolator(插值器)详解二
- 使用插值器和Keyframes
- Android 动画 Interpolator插值器
- android interpolator 插值器
- 第七周工作报告(2014.4.6~4.13)
- 在线打字测速系统
- WTL: CTabView 源码分析
- dojo1.9学习总结(一)-layout
- 《Effective C++》读书笔记
- 插值器
- 使用java命令行方式编译包中的类
- .jar服务器启动。
- MySQL Stored Procedure Variables
- git版本控制从某个版本恢复到之前或者之后的版本的方法
- java图片添加文字
- [ActionBar]无标题栏时点击菜单键出现空指针的解决办法.
- 第6周作业2-IF语句大显身手之成绩判断
- 界面几个例子