android 动画总结一
一、补间动画
补间动画就是指开发者指定动画的开始、动画的结束的"关键帧",而动画变化的"中间帧"由系统计算,并补齐。
补间动画分为四种:平移动画(TranslateAnimation)、缩放动画(ScaleAnimation)、旋转动画(RotateAnimation)、透明度动画(AlphaAnimation)
注:如何实现此处不细说,
1、平移动画(TranslateAnimation)
TranslateAnimation(0,500,0,500),参数1:视图在水平方向x 移动的起始值,
参数2:视图在水平方向x 移动的结束值
参数3:视图在竖直方向y 移动的起始值
参数4:视图在竖直方向y 移动的结束值
2、缩放动画(ScaleAnimation)
new ScaleAnimation(0,2,0,2,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f)
参数1:动画在水平方向X的起始缩放倍数
参数2:动画在水平方向X的结束缩放倍数
参数3:动画开始前在竖直方向Y的起始缩放倍数
参数4:动画在竖直方向Y的结束缩放倍数
参数5:缩放轴点的x坐标的模式
参数6:缩放轴点x坐标的相对值
参数7:缩放轴点的y坐标的模式
参数8:缩放轴点y坐标的相对值
注:参数5说明: Animation.ABSOLUTE:缩放轴点的x坐标 = View左上角的原点 在x方向 加上参数6数值的点(y方向同理)
Animation.RELATIVE_TO_SELF:缩放轴点的x坐标 = View左上角的原点 在x方向 加上 自身宽度乘上参数6数值的值(y方向同理)
Animation.RELATIVE_TO_PARENT:缩放轴点的x坐标 = View左上角的原点 在x方向 加上 父控件宽度乘上参数6数值的值
3、旋转动画(RotateAnimation)
RotateAnimation(0,270,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
参数1. 动画开始时 视图的旋转角度(正数 = 顺时针,负数 = 逆时针)
参数2. 动画结束时 视图的旋转角度(正数 = 顺时针,负数 = 逆时针)
参数3. 旋转轴点的x坐标的模式
参数4. 旋转轴点x坐标的相对值
参数5. 旋转轴点的y坐标的模式
参数6. 旋转轴点y坐标的相对值
注:参数3:Animation.ABSOLUTE:旋转轴点的x坐标 = View左上角的原点 在x方向 加上 pivotXValue数值的点
Animation.RELATIVE_TO_SELF:旋转轴点的x坐标 = View左上角的原点 在x方向 加上 自身宽度乘上pivotXValue数值的值
Animation.RELATIVE_TO_PARENT:旋转轴点的x坐标 = View左上角的原点 在x方向 加上 父控件宽度乘上pivotXValue数值的值
4、透明度动画(AlphaAnimation)
new AlphaAnimation(1,0); 参数1. 动画开始时视图的透明度(取值范围: -1 ~ 1)
参数2:动画结束时视图的透明度(取值范围: -1 ~ 1)
此时此刻就是重点:
说明:TranslateAnimation、ScaleAnimation、RotateAnimation、AlphaAnimation它们共同的特点是都是 Animation的子类,它们各自没有特别的操作,全部
借助父类,所以如何运用它们其实就需要看Animation。
Animation类
首先,它有一个AnimationListener接口,是用来监听动画的运行状态的,onAnimationStart监听动画开始状态,onAnimationEnd监听动画结束状态,
onAnimationRepeat监听动画重复状态。该监听可以实现动画之间交互。
方法:
setInterpolator 主要是为动画设置插值器,插值器的种类有很多,主要是让动画在不同的时间节点展示不同的效果,用于丰富动画效果。
setDuration 主要设置动画运行时间。
setRepeatMode 设置重复模式,1、Animation.RESTART,从头开始重复。2、Animation.REVERSE,反方向执行
setRepeatCount 设置重复次数
setFillAfter 设置动画结束后位置淡出 动画链中用到
setFillBefore 设置动画开始位置淡出
setZAdjustment 允许在动画播放期间,调整播放内容在Z轴方向的顺序
setStartOffset 设置动画启动时间
restrictDuration 限制动画的运行时间
暂时用到的就这么多,其他一些get方法也是相对获取一些信息的,这里不做详细的说明。
android 动画总结一的更多相关文章
- Android动画效果之自定义ViewGroup添加布局动画
前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...
- Android动画效果之Property Animation进阶(属性动画)
前言: 前面初步认识了Android的Property Animation(属性动画)Android动画效果之初识Property Animation(属性动画)(三),并且利用属性动画简单了补间动画 ...
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- Android动画效果之Frame Animation(逐帧动画)
前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame ...
- Android动画效果之Tween Animation(补间动画)
前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...
- Android动画
[浅谈Android动画] 总共四种:Tween Animation变换动画.Frame Animation帧动画 Layout Animation布局动画.Property Animation 属性 ...
- Android动画学习(二)——Tween Animation
前两天写过一篇Android动画学习的概述,大致的划分了下Android Animation的主要分类,没有看过的同学请移步:Android动画学习(一)——Android动画系统框架简介.今天接着来 ...
- Android动画学习(一)——Android动画系统框架简介
2015-11-09补充:Drawable Animation极有可能是Frame Animation 这几天在找工作,面试的时候被问到了Android动画,之前完全没接触过这部分,直接给懵了,当然其 ...
- Android动画的理解
基础知识 在我们开始讲Android动画这个知识点之前,我们了解下相应的基础知识点. Shape篇 一般用Shape定义的XML文件是存放在Drawable目录下,广泛应用于在Button.TextV ...
- Android动画之淡入淡出
为了更好的说明Android动画的淡入淡出效果,这里以一个场景为例: 界面上有两个View 控件,两个View交替显示,当一个View淡入显示,另一个View淡出不可见. 我们把当前要显示的View叫 ...
随机推荐
- 全面系统Python3入门+进阶-1-3 我为什么喜欢Python
结束
- 常用快捷键 & BLOG & Website
blog http://kejianttt.com/http://pptdesign.blogbus.com/ Website http://www.webdesignerdepot.com/ 素 ...
- 关于IO的操作(文件、网络)
IO操作的流程总结和分析: (1)对象,易于编写代码 ---> (2)byte[],底层本质 ----> (3)IO(文件.网络),最终IO处理掉
- Go语言学习笔记——Go语言数据类型
布尔型 布尔型的值只可以是常量 true 或者 false.一个简单的例子:var b bool = true. 数字类型 整型 int 和浮点型 float32.float64,Go 语言支持整型和 ...
- c-lodop获取任务页数-回调里给全局变量赋值并加减
LODOP一个任务里可以自动分页,也可以手动分页,超文本会按照打印项高度或超过纸张会自动分页(相关博文:Lodop打印控件 超文本自动分页),如果是自动分页,是无法知道究竟分了多少页,整个任务打了多少 ...
- C-LODOP回调多个返回值On_Return_Remain
c-lodop默认一次只能回调一个值,回调后会销毁,如果想回调多个值,可加该语句:LODOP.On_Return_Remain=true;之前有博文:lodop和c-lodop通过打印状态和任务不在队 ...
- node.js web应用优化之读写分离
概述 先了解读写分离是什么,什么原理,解决了什么问题.什么是读写分离? 其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数 ...
- Python 的包管理工具 distribute, setuptools, easy_install命令与 pip命令
Setuptools 是 Python Enterprise Application Kit (PEAK)的一个副项目,它是 Python 的disutils工具的增强工具,可以让程序员更方便地创建和 ...
- Web调试利器fiddler(转)
http://blog.chinaunix.net/uid-27105712-id-3738821.html
- SpringMVC常用注解@Controller,@Service,@repository,@Component,@Autowired,@Resource,@RequestMapping
1.controller层使用@Controller注解-用于呈现层,(spring-mvc) @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controlle ...