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. ...
随机推荐
- Appium中长按按钮操作
在一次项目中,appium要对某个按钮进行长按操作(大于2s),类似拍微信小视频,参考网上长按视频会报错 action1 = TouchActions(self.driver) el = self.d ...
- 170808、生成为CVS文件
/** * Desc : 生成为CVS文件 * User : RICK * @param data 源数据List * @param map csv文件的列表头map * @param outPutP ...
- Docker容器之Nginx
一,pull一个Nginx镜像 docker pull nginx 二,Nginx镜像文件说明 配置文件 /etc/nginx/nginx.conf 网站根目录 /usr/share/nginx/ht ...
- pta 习题集 数列求和-加强版
给定某数字AA(1≤A≤91≤A≤9)以及非负整数NN(0≤N≤1000000≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯AS=A+AA+AAA+⋯+AA⋯A(NN个AA).例如A ...
- poj2176 Folding【区间DP】
Folding Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1841 Accepted: 642 Special ...
- 焦作网络赛K-Transport Ship【dp】
There are NN different kinds of transport ships on the port. The i^{th}ith kind of ship can carry th ...
- 浅谈vuex
很多技术,刚接触的时候:这是啥?用的时候:哟嚯,是挺好用的!加以研究:卧槽,就是这么个逼玩意儿! 最近接手了一个别人写了1/5的vue项目(页面画了1/3,接口啥都没对); 对于表格中的数据项操作以及 ...
- mysql 数据操作 单表查询 group by 注意
GROUP BY 单独使用GROUP BY关键字分组 SELECT post FROM employee GROUP BY post; 注意:我们按照post字段分组,那么select查询的字段只能是 ...
- 使用 Nginx 提升网站访问速度
使用 Nginx 提升网站访问速度 http://www.ibm.com/developerworks/cn/web/wa-lo-nginx/ Nginx 简介 Nginx ("engine ...
- Flask系列(九)flask-script组件
Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任 ...