博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PathInterpolator
阅读量:6240 次
发布时间:2019-06-22

本文共 1446 字,大约阅读时间需要 4 分钟。

PathInterpolator

在v4 support library:Revision 22.1.0的时候,Google在兼容库中增加了几个新的类,用于创建更加真实的动画效果。

Added the following interpolation classes for animation: FastOutLinearInInterpolator, FastOutSlowInInterpolator, LinearOutSlowInInterpolator, LinearOutSlowInInterpolator, and PathInterpolatorCompat.复制代码

从命名我们大致可以看出来,这个实际上就是新增的插值器,但实现了更加真实的动画效果,了解我之前关于插值器的文章的朋友,应该很清楚,不了解的开发者可以先看下关于插值器的介绍:模拟自然动画的精髓——

PathInterpolatorCompat

其它几个Interpolator非常好理解,实际上在没有他们之前,我们也可以通过自己来计算函数值来创建这样的Interpolator,也就是类似——缓进急出、缓出急进这样的插值器效果。

那么今天我们的主角,就是——PathInterpolatorCompat,他实际上是PathInterpolator的兼容版本,可以兼容到Android的低版本设备。利用PathInterpolatorCompat,我们可以非常方便的创建二阶、三阶的贝塞尔曲线动画Interpolator。

官网镇楼

这个类的使用非常简单,只有一个重载的creat()方法。

Method code
create(Path path) Create an Interpolator for an arbitrary Path.
create(float controlX1, float controlY1, float controlX2, float controlY2) Create an Interpolator for a cubic Bezier curve.
create(float controlX, float controlY) Create an Interpolator for a quadratic Bezier curve.

当然,不仅仅是贝塞尔曲线,实际上只要是Path绘制的曲线,都可以作用在PathInterpolatorCompat上。

OK,有了这个工具,我们就可以很方便的使用它来创建各种插值曲线了,举个非常简单的例子:

Path path = new Path();path.cubicTo(0.2f, 0f, 0.1f, 1f, 0.5f, 1f);path.lineTo(1f, 1f);ObjectAnimator animator = ObjectAnimator.ofFloat(view, View.TRANSLATION_X, 500);animator.setInterpolator(PathInterpolatorCompat.create(path));animator.start();复制代码

我们绘制了一个简单的三阶贝塞尔曲线,并作用到PathInterpolatorCompat设置给Animation,这样就完成了,不再需要像我们之前做的那样,通过二阶、三阶贝塞尔曲线的数学计算公式来进行计算,极大的方便了开发者。

转载地址:http://wadia.baihongyu.com/

你可能感兴趣的文章
WebApi FormData+文件长传 异步+同步实现
查看>>
Linux文件与目录管理
查看>>
多态的弊端
查看>>
Spring @Import 注解
查看>>
PBOC APDU命令解析【转】
查看>>
封装HttpUrlConnection开箱即用
查看>>
第二天笔记
查看>>
如何在外部终止一个pengding状态的promise对象
查看>>
初级模拟电路:1-5 二极管的其他特性
查看>>
《简明Python教程》Swaroop, C. H. 著 第1章 介绍
查看>>
Chapter 4. Working with Key/Value Pairs
查看>>
Python基础:Python可变对象和不可变对象
查看>>
[css3]文字过多以省略号显示
查看>>
vim显示行号、语法高亮、自动缩进的设置
查看>>
shell中的if语句
查看>>
WCf客户端测试
查看>>
Java线程面试题 Top 50
查看>>
java内存模型
查看>>
python继承关系及DVD案例
查看>>
木其工作室代写程序 [原]使用Filter过滤ip禁止访问系统
查看>>