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. ...
随机推荐
- [SQL] 理解SQL SERVER中的逻辑读,预读和物理读
SQL SERVER数据存储的形式 在谈到几种不同的读取方式之前,首先要理解SQL SERVER数据存储的方式.SQL SERVER存储的最小单位为页(Page).每一页大小为8k,SQL SERVE ...
- 【转】stm32中断嵌套全攻略
断断续续学习STM32一学期了,时间过的好快,现在对STM32F103系列单片机的中断嵌套及外部中断做一个总结,全当学习笔记.废话不多说,ARM公司的Cortex-m3 内核,支持256个中断,其中包 ...
- 混合欧拉回路的判断(Dinic)
POJ1637 Sightseeing tour Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7483 Accepte ...
- Centos6.5安装JDK环境
1,系统版本查看 2,下载jdk1.8 wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c ...
- java 中关于System.out.println()的问题
Java 的输出知识 1.System.out.println()不能直接写在类中,例如: 因为在 Class A{ //成员变量 //构造方法 //普通方法 //内部类 } 如果硬是想使用Syste ...
- ubuntu下安装运行colmap
从源码安装 colmap可以在主流的系统windows,mac,linux安装 从github上获取colmap的最新源码 git clone https://github.com/colmap/co ...
- 实现VMware下CentOS和Windows之间的复制粘贴
实现VMware下CentOS和Windows之间的复制粘贴1.第一步,打开虚拟机2.点击菜单栏中的虚拟机->安装VMware Tools3.桌面中找到VMwareTools-10.0.10-4 ...
- Golang学习 - builtin 包
Go builtin包提供了go预先声明的函数.变量等的文档.这些函数变量等的实现其实并不是在builtin包里,只是为了方便文档组织. 这些内置的变量.函数.类型无需引入包即可使用. 默认提供的有: ...
- Get,Post请求方式详解
前几天工作中,所有表单我都采用post方法,头儿说那样不好,大型网站上一般都采用get方法,不理解. 在网上摘到一段比较有用的话 减低服务器流量压力根据 HTTP 规范,GET 用于信息获取,而且应该 ...
- [World Wind学习]21.影像切割
本来希望从GlobeMapper中生成切片直接加载到WorldWind中,但是没有成功!所以想比较一下和dstile生成的瓦片到底有什么区别? 所以这才第一次生成并加载了影像瓦片.貌似和GlobeMa ...