博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android动画系列(二) - 插值器效果
阅读量:4165 次
发布时间:2019-05-26

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

在前面讲了基础动画的ViewAnimation的所有动画实现形式,xml和java代码实现。不过谷歌还提供了一个不错的效果,那就是插值器。不同的插值器对展现的动画效果有较大的影响。

  • 参考启航的插值器介绍学习:

  • 参考谷歌官网文档学习 :

  • 上一篇文章基础动画(ViewAnimation):

这里写图片描述

设置interpolator,也就是让动画按照设定的模式去运行。Interpolator原有的属性:

这里写图片描述

class就是java对应的类,Resource ID 是在XML中使用的。interpolator 属性属于Animation基础类,所以Scale,Translate,Rotate,alpha都可以设置自己的interpolator属性。意义如下(摘抄自启航的文章):

  • AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速

  • AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速

  • AnticipateInterpolator 开始的时候向后然后向前甩

  • AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值

  • BounceInterpolator 动画结束的时候弹起

  • CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线

  • DecelerateInterpolator 在动画开始的地方快然后慢

  • LinearInterpolator 以常量速率改变

  • OvershootInterpolator 向前甩一定值后再回到原来位置

下面看看各个标签在应用上面的每个插值器后会运动轨迹会怎样。

那么久看看各个插值器的动画效果。

  1. AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速

这里写图片描述

2.DecelerateInterpolator 在动画开始的地方快然后慢

这里写图片描述

3.AnticipateInterpolator 开始的时候向后然后向前甩

这里写图片描述

4.AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速

这里写图片描述

5.AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值

这里写图片描述

6.BounceInterpolator 动画结束的时候弹起

这里写图片描述

7.CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线

这里写图片描述

8.LinearInterpolator 以常量速率改变

这里写图片描述

9.OvershootInterpolator 向前甩一定值后再回到原来位置

这里写图片描述

谷歌提供的API中interpolator就这么多,基本动画效果也给上了。怎么使用的话很简单。xml直接设置interpolator的属性,而java类Animation直接设置setInterpolator(插值器对象)就OK了。

xml:

而java代码中:

animation.setInterpolator(new AccelerateInterpolator());

这样就搞定了,是不是很简单。

你可能感兴趣的文章
栈的应用——缓冲区计算逆波兰式
查看>>
二叉树:广义表搭建二叉树
查看>>
树的应用:求有根树所有子树大小
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第一章)(一)
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第一章)(二)
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第二章)(一)
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第二章)(二)
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第三章)(一)
查看>>
栈的应用:火车调度问题
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第三章)(二)
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第三章)(三)
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第四章)
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第五章)
查看>>
编译原理语法分析“向前看”辨析
查看>>
HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
查看>>
ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第六章)(二)
查看>>
python 安装 cv2
查看>>
pip安装时错误:Bad md5 hash for package
查看>>
《计算机网络 自顶向下方法》(第7版)答案(第九章)
查看>>