Android 旋转、平移、缩放和透明度渐变的补间动画
补间动画就是通过对场景里的对象不断进行图像变化来产生动画效果。在实现补间动画时,只需要定义开始和结束的“关键帧”,其他过渡帧由系统自动计算并补齐。在Android中,提供了以下4种补间动画。
**1.透明度渐变动画**
透明度渐变动画就是通过View组件透明度的变化来实现View的渐隐渐显的效果。它主要通过为动画指定开始时的透明度和结束时的透明度,以及维持时间来创建动画。
表1 定义透明度渐变动画时常用的属性
| 属性 | 描述 |
| android:interpolator | 用于控制动画的变化速度,使得动画效果可以匀速、加速、减速或抛物线速度等各种速度变化,其属性值如表2所示 |
| android:repeatMode | 用于设置动画的重复方式,可选值为reverse(反向)或restart(重新开始) |
| android:repeatCount | 用于设置动画的重复次数,属性可以是代表次数的数值,也可以是infinite(无限循环) |
| android:duration | 用于指定动画的持续时间,单位为毫秒 |
| android:fromAlpha | 用于指定动画开始时的透明度,值为0.0代表完全透明,值为1.0代表完全不透明 |
| android:toAlpha | 用于指定动画结束时的透明度,值为0.0代表完全透明,值为1.0代表完全不透明 |
表2 android:interpolator属性的常用属性值
| 属性值 | 描述 |
| @android:anim/linear_interpolator | 动画一直在做匀速改变 |
| @android:anim/accelerate_interpolator | 动画在开始的地方改变较慢,然后开始加速 |
| @android:anim/decelerate_interpolator | 在动画开始的地方速度改变较快,然后开始 |
| @android:anim/accelerate_decelerate_interpolator | 动画在开始和结束的地方改变速度较慢,在中间的时候加速 |
| @android:anim/cycle_interpolator | 动画循环播放特定的次数,变化速度按正弦曲线改变 |
| @android:anim/bounce_interpolator | 动画结束的地方采用弹球效果 |
| @android:anim/anticipate_overshoot_interpolator | 在动画开始的地方先向后退一小步,再开始动画,到结束的地方再超出一小步,最后回到动画结束的地方 |
| @android:anim/overshoot_interpolator | 动画快速到达终点,并超出一小步最后回到动画结束的地方 |
| @android:anim/anticipate_interpolator | 在动画开始的地方先向后退出一小步,再快速到达动画结束的地方 |
**2.旋转动画**
旋转动画就是通过为动画指定开始时的旋转角度、结束时的旋转角度,以及持续时间来创建动画。在旋转时还可以通过指定轴心点坐标来改变旋转的中心。
表3 定义旋转动画时常用的属性
| 属性 | 描述 |
| android:interpolator | 用于控制动画的变化速度,使得动画效果可以匀速、加速、减速或抛物线速度等各种速度变化,其属性值如表2所示 |
| android:fromDegrees | 用于指定动画开始时旋转的角度 |
| android:toDegrees | 用于指定动画结束时旋转的角度 |
| android:pivotX | 用于指定轴心点x轴的坐标 |
| android:pivotY | 用于指定轴心点y轴的坐标 |
| android:repeatMode | 用于设置动画的重复方式,可选值为reverse(反向)或restart(重新开始) |
| android:repeatCount | 用于设置动画的重复次数,属性可以是代表次数的数值,也可以是infinite(无限循环) |
| android:duration | 用于指定动画的持续时间,单位为毫秒 |
**3.缩放动画**
缩放动画就是通过为动画指定开始时的缩放系数、结束时的缩放系数,以及持续时间来创建动画。在缩放时还可以通过指定轴心点坐标来改变缩放的中心。
| 属性 | 描述 |
| android:interpolator | 用于控制动画的变化速度,使得动画效果可以匀速、加速、减速或抛物线速度等各种速度变化,其属性值如表2所示 |
| android:fromXScale | 用于指定动画开始时水平方向上的缩放系数,值为1.0表示不变化 |
| android:toXScale | 用于指定动画结束时水平方向上的缩放系数,值为1.0表示不变化 |
| android:fromYScale | 用于指定动画开始时垂直方向上的缩放系数,值为1.0表示不变化 |
| android:toYScale | 用于指定动画结束时垂直方向上的缩放系数,值为1.0表示不变化 |
| android:pivotX | 用于指定轴心点x轴的坐标 |
| android:pivotY | 用于指定轴心点y轴的坐标 |
| android:repeatMode | 用于设置动画的重复方式,可选值为reverse(反向)或restart(重新开始) |
| android:repeatCount | 用于设置动画的重复次数,属性可以是代表次数的数值,也可以是infinite(无限循环) |
| android:duration | 用于指定动画的持续时间,单位为毫秒 |
**4.平移动画**
平移动画就是通过为动画指定开始时的位置、结束时的位置,以及持续的时间来创建动画。
| 属性 | 描述 |
| android:interpolator | 用于控制动画的变化速度,使得动画效果可以匀速、加速、减速或抛物线速度等各种速度变化,其属性值如表2所示 |
| android:fromXDelta | 用于指定动画开始时水平方向上的起始位置 |
| android:toXDelta | 用于指定动画结束时水平方向上的起始位置 |
| android:fromYDelta | 用于指定动画开始时垂直方向上的起始位置 |
| android:toYDelta | 用于指定动画结束时垂直方向上的起始位置 |
| android:repeatMode | 用于设置动画的重复方式,可选值为reverse(反向)或restart(重新开始) |
| android:repeatCount | 用于设置动画的重复次数,属性可以是代表次数的数值,也可以是infinite(无限循环) |
| android:duration | 用于指定动画的持续时间,单位为毫秒 |
Android 旋转、平移、缩放和透明度渐变的补间动画的更多相关文章
- Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)
学习内容: 1.了解Drawable类的作用 2.如何使用Drawable... 3.了解Tween动画... 4.如何创建和使用Tween动画... 1.Drawable类... Drawabl ...
- Android中的帧动画与补间动画的使用
前言 在日常开发中,我们有时候须要一些好看的动画效果,这时能够充分利用Android提供的这几种动画来实现. Android提供了3种类型的动画: 补间动画:补间动画能够应用于View,让你能够定义一 ...
- Android动画效果之Tween Animation(补间动画)
前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...
- Android动画主要包含补间动画(Tween)View Animation、帧动画(Frame)Drawable Animation、以及属性动画Property Animation
程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animatio ...
- Android中四种补间动画的使用示例(附代码下载)
场景 Android中四种补间动画. 透明度渐变动画 旋转动画 缩放动画 平移动画 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程 ...
- android 帧动画,补间动画,属性动画的简单总结
帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...
- android 补间动画和Animation
介绍: 补间动画是一种设定动画开始状态.结束状态,其中间的变化由系统计算补充.这也是他叫做补间动画的原因. 补间动画由Animation类来实现具体效果,包括平移(TranslateAnimation ...
- Android动画总结#补间动画(Tween Animation/View Animation) #帧动画(Frame Animation/Drawable Animation)#属性动画(PropertyAnimation)
1.共有三种动画,英文名字多种叫法如下 第一种动画:补间动画(Tween Animation/View Animation) 四个:RotateAnimation旋转. AlphaAnimation透 ...
- Android(java)学习笔记199:Android中补间动画(Tween Animation)
本文主要简单介绍补间动画使用代码实现, 关于使用xml实现补间动画,可以参看:自定义控件三部曲之动画篇(一)——alpha.scale.translate.rotate.set的xml属性及用法 1. ...
随机推荐
- xcode7/ios9中 低版本app运行时,屏幕上下出现黑边的问题
xcode从低版本升级至 7.0或更高版本后,某些低版本app再次编译运行后,发现app在设备上运行时,会在上端和底部 出现黑边的现象.这导致app的展示界面跟缩水了一样,变得十分丑陋. 对于这一问题 ...
- pta 习题集5-17 哥尼斯堡的“七桥问题”
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...
- 沈阳网络赛J-Ka Chang【分块】【树状数组】【dfs序】
Given a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero point. Then, ...
- java 中的& &&区别以及 C++ 中& &&的区别
java中的 & &&两个运算符 (1).&在java中称做: 逻辑与 判断boolean类型,只有两者都是true时,才会返回true 举例: boolean b1= ...
- Linux系统stat指令用法
stat指令:文件/文件系统的详细信息显示. stat命令主要用于显示文件或文件系统的详细信息,该命令的语法格式如下: stat命令-->用来显示文件的详细信息,包括inode, atime, ...
- MYSQL查看数据表最后更新时间
MYSQL查看数据表最后更新时间 - 拨云见日 - CSDN博客 https://blog.csdn.net/warnerwu/article/details/73352774 mysql> S ...
- 数据去重优化 MemoryError 内存不足
from ProjectUtil.usingModuleTOMODIFY import getNow export_q_f, q_l, start_ = '/mnt/mongoexport/super ...
- Python开发【数据结构】:排序练习
排序练习 问题一: 现在有一个列表,列表中的数范围都在0到100之间,列表长度大约为100万.设计算法在O(n)时间复杂度内将列表进行排序. import random data = [random. ...
- 关于Controller层返回JSON字符串
/** * 导入jackson包. * @param pn * @return */ @RequestMapping("/emps") @ResponseBody public M ...
- word安装mathtype
1:window版本的mathtype:https://pan.baidu.com/s/1Yn8kPG9Y9nBPGaotFJaL2Q ,密码spwm 2:点击exe安装 (安装到c盘,将不会出 ...