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. ...
随机推荐
- 微信小游戏5.2.2 没有xml支持库的问题解决
需要下载xml支持库,并在game.js添加 window.DOMParser = require("./xmldom/xmldom.js").DOMParser; 如下图:
- intelliij jdea 的file没有setting的解决方法
- Linux(Centos)下搭建SVN服务器
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人,本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结! /******开始***** ...
- Python 之定时器
#引入库 threading import threading #定义函数 def fun_timer(): print('hello timer') #打印输出 global timer #定 ...
- 编译安装基于nginx与lua的高性能web平台-openresty
1.首先编译安装nginx(不多说) 2.开始安装openresty cd /usr/local/src wget https://openresty.org/download/openresty-1 ...
- kibana 和ES安装配置常见问题解决
1.下载相同版本的kibana和ES: es5.6.5下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5 ...
- nginx:负载均衡的session共享
一.场景 当nginx做了负载均衡之后,同一个ip的url请求服务器的时候,负载均衡会根据每台服务器的权重等一些设置将请求转发到不同的服务器上去进行处理,这样的话针对一些带有状态请求的情况来说就是个很 ...
- 在一台server上部署多个Tomcat
版权声明: https://blog.csdn.net/u011518709/article/details/27181665 在一台server上配置多个Tomcat的方法: 这几天因为在研究OGS ...
- 第六章 优化服务器设置--高性能MySQL 施瓦茨--读书笔记
MySql的默认配置不适用于使用大量资源,因为其通用性很高. 不要期望改变配置文件会带来巨大的性能提升.提升大小取决于工作负载,通常可以通过选择适当的配置参数得到两到三倍的性能提升.在这时候,性能提升 ...
- PAT 1043 Is It a Binary Search Tree[二叉树][难]
1043 Is It a Binary Search Tree(25 分) A Binary Search Tree (BST) is recursively defined as a binary ...