Android动画概念大揭秘

前言

说起Android里面的动画,我可能会立马想起平移、旋转、渐变、缩放等动画效果,但是对于他们的属性就记的不太清了,知道的都是皮毛而且很容易忘记,每次需要用到的时候总要去baidu或者google,完全无法做到灵活应用,信手拈来。所以抽时间重新温故了一下动画相关的知识,把相关知识点记录下来,所谓好记性不如烂笔头

为了更好的记忆Android动画,我会给自己提出下面几个问题:

  1. Android提供了几种动画类型?
  2. 他们分别是什么,有什么意义?
  3. 不同类型之间有什么区别?
  4. 分别适用于什么样的场景?

带着这几个问题(可能还有其他的问题,你可以来补充),我们再来学习Android动画...

Android提供了几种动画

我画了一下Android动画关系图


image

从上图可以看得出,我们可以理解Android给我们提供了两种动画类型,一种是View Animation,一种是Property Animtion。

也可以分为三类,它们分别是Tween Animation、Frame Animation以及Property Animtion

哪些类型,有什么意义

View Animation

View Animtion从字面是可以称作视图动画(也可以叫传统动画),主要是针对控件进行动画操作,它是Andorid一出现就引入的。

Property Animtion

View Animtion称作属性动画,主要是控制改变控件属性值来达到动画效果,是Android 3.0时引入了


Tween Animation

Tween Animation称作补间动画,顾名思义,补间动画是通过改变控件的大小、颜色、位置、透明度,从而实现动画效果。图表中Tween Animation下面的四种动画类型就分别代表渐变(alpha)、旋转(rotate)、缩放(scale)、平移(translate)

Frame Animation

Frame Animation被称作逐帧动画,经常也被叫成Drawable Animation,通过顺序播放事先准备好的图片从而实现动画效果,类似于电影放映效果

ValueAnimator

顾名思义,ValueAnimator,不会对控件做任何操作,我们可以给它设定从哪个值运动到哪个值,通过监听这些值的渐变过程来自己操作控件

ObjectAnimator

ObjectAnimator 是派生自 ValueAnimator 的,所以 ValueAnimator 中所能使用的方法,在 ObjectAnimator 中都可以正常使用ValueAnimator只能对数值对动画计算,而ObjectAnimator能让动画直接与对应控件相关联。

不同类型之间有什么区别

通常说动画之间的区别主要是比较View Animation 和 Property Animation。

  1. View Animation是API 1的时候就引入了,而Property Animation是从API 11即Android3.0开始才引入。
  2. View Animation主要操作的视图控件,而Propety Animation主要操作的是控件内部的属性(举个例子:控件的点击事件,View Animation点击区域是在控件的初始位置,而Property Animation是在最后停留的位置)
  3. View Animation 在包 android.view.animation 中,而 Property Animation API 在包 android.animation 中
  4. Property Animation基于Animator和AnimatorSet的类结构,而View Animation则基于Animation和AnimationSet的类结构
  5. Property Animation的XML声明文件存放在res/animator目录下,而View Animation则存放在res/anim目录

适用场景

Tween Animation

一般进行平移,缩放,渐变、旋转操作,比如启动页渐入渐出动画、Activity页面进入和退出动画、对话框从底部弹出动画等
如果是一般的动画,使用Tween Animation基本上都能满足我们的需求

Frame Animation

帧动画,从名字也能看出那些地方可以使用,就像Flash一样,需要一帧一帧的显示一系列图片,连续起来就是动画效果
通常使用的场景是请求网络的等待进度、下拉刷新的等待进度等
或者可以理解为如果是需要用多张图片组合起来的动画都是通过Frame Animation实现的

Property Animtion

属性动画实现的相对比较复杂的动画效果。当然,Tween Animation的效果他基本上都能实现
比如带百分比的圆形进度条、控件背景颜色切换闪烁等等

结束语

本篇文章主要是对Android的动画的概念进行了一个总结,个人水平有限,可能总结的不够完善,欢迎补充。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 背景 不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今...
    未聞椛洺阅读 2,885评论 0 10
  • 转载一篇高质量博文,原地址请戳这里转载下来方便今后查看。1 背景不能只分析源码呀,分析的同时也要整理归纳基础知识,...
    Elder阅读 2,020评论 0 24
  • 当年,我们怀揣着对梦想的无限憧憬,背井离乡,千里迢迢来到大城市,为的就是实现我们心中的梦想,然而我们高估了自己的耐...
    戴着红围脖的瑛菇凉HD阅读 361评论 0 0
  • 第一章 一个男人 在女人身上,只要男人看到一丝膨胀的自我,便会厌倦她身上眼花缭乱的女性气质,甚至会轻视她。而极欲抹...
    咔辣辣阅读 187评论 0 0
  • 路过芒康 1 路过芒康,青稞就是婀娜的女子,手拉着手,点头微笑,正在原野上跳着锅庄。 路过芒康,野草穿着绿的纱裙,...
    重庆风铃阅读 506评论 0 2

友情链接更多精彩内容