前言

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

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

Android提供了几种动画类型?

他们分别是什么,有什么意义?

不同类型之间有什么区别?

分别适用于什么样的场景?

带着这几个问题(可能还有其他的问题,你可以来补充),我们再来学习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。

View Animation是API 1的时候就引入了,而Property Animation是从API 11即Android3.0开始才引入。

View Animation主要操作的视图控件,而Propety Animation主要操作的是控件内部的属性(举个例子:控件的点击事件,View Animation点击区域是在控件的初始位置,而Property Animation是在最后停留的位置)

View Animation 在包 android.view.animation 中,而 Property Animation API 在包 android.animation 中

Property Animation基于Animator和AnimatorSet的类结构,而View Animation则基于Animation和AnimationSet的类结构

Property Animation的XML声明文件存放在res/animator目录下,而View Animation则存放在res/anim目录

适用场景

Tween Animation

一般进行平移,缩放,渐变、旋转操作,比如启动页渐入渐出动画、Activity页面进入和退出动画、对话框从底部弹出动画等

如果是一般的动画,使用Tween Animation基本上都能满足我们的需求

Frame Animation

帧动画,从名字也能看出那些地方可以使用,就像Flash一样,需要一帧一帧的显示一系列图片,连续起来就是动画效果

通常使用的场景是请求网络的等待进度、下拉刷新的等待进度等

或者可以理解为如果是需要用多张图片组合起来的动画都是通过Frame Animation实现的

Property Animtion

属性动画实现的相对比较复杂的动画效果。当然,Tween Animation的效果他基本上都能实现

比如带百分比的圆形进度条、控件背景颜色切换闪烁等等

结束语

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

android动画类型有哪几种,Android动画概念大揭秘相关推荐

  1. android svg指纹录取动画_你知道几种前端动画的实现方式?

    随着互联网的持续发展,H5 页面作为与用户直接交互的表现层越来越复杂,呈现的形式也越来越丰富,从而也要求 H5 页面具有更多的花样性及动画效果.那前端实现动画效果的方式有哪些呢,大致有如下几种: 一. ...

  2. android 手机分区失败怎么办,一种Android系统Data分区自修复方法及系统专利_专利查询 - 天眼查...

    1.一种Android系统Data分区自修复方法,其特征在于,包括: 步骤1: Android智能终端开机进入Android系统后,判断Data分区是否损坏,对Data分 区进行挂载,然后读取Data ...

  3. Android的布局有哪几种,Android布局居中的几种做法

    Android的布局文件中,如果想让一个组件(布局或View)居中显示在另一个布局(组件)中,可以由这么几种做法: android:layout_gravity android:gravity and ...

  4. android 文件加密解决方法,一种Android平台的文件快速加密以及解密方法与流程

    本发明属于数据安全领域,具体涉及一种Android平台的文件快速加密以及解密方法. 背景技术: 目前移动办公系统极大地提升了企.事业单位的工作效率,而带装有办公应用的智能设备中会存储一些较高机密性的文 ...

  5. android的内存泄露有几种,Android中几种有可能会导致内存泄露的情况

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 1.Static静态成员导致的内存泄露 将占用大量内存空间的变量声明为static静态类型.当Activity被销毁的时 ...

  6. android 常用图像密码,这几种Android图形密码最常用 你也在用吗?

    从iPhone 5s开始,按压式指纹识别就成了高端智能手机的标配,但是对于大部分没法体验指纹识别的用户来说,图形密码仍然是他们最常使用的解锁方式之一.有意思的是,最近一位名叫Marte Løge的挪威 ...

  7. android设置布局高度自适应,4种Android屏幕自适应解决方案

    Android支持多屏幕机制即用为当前设备屏幕提供一种合适的方式来共同管理并解析应用资源.本文就介绍了4中Android屏幕自适应解决方案. 一.细说layout_weight 目前最为推荐的Andr ...

  8. android刷机方法,介绍一种android的裸刷机方法(fastboot刷机实质)

    fastboot刷机的前提是你的开发板uboot良好并能正常启动进入fastboot模式,你的开发版的nand分区已存在.对于Android的uboot而言, 已经实现了fastboot命令,当你进入 ...

  9. css loading 字体动画效果,CSS实现四种loading动画效果

    四种加载效果 /*第一种*/.demo1 { 4px; height: 4px; border-radius: 2px; background: #68b2ce;float: left; margin ...

  10. 【ae】文字动画类型(丰富,非基本属性动画)/自动化关键(shift+alt+点击  可以删除普通变换)

    shift+alt+点击  可以删除普通变换

最新文章

  1. WPF/Silverlight Layout 系统概述——Measure(转)
  2. 选择屏幕——按钮、单选复选框
  3. 从贪心选择到探索决策:基于强化学习的多样性排序
  4. 关于SIGPIPE导致的程序退出
  5. python识别复杂验证码2020_Python识别验证码!学会这步,百分之60的网站你基本都能识别了!...
  6. jquery中常容易出错的checkbox的获得值
  7. 《设计的品格 探索×呈现×进化的InDesign美学》目录—导读
  8. 《著名企业求职面试指南》——揭秘顺利通过名企面试的“潜规则”
  9. QDir过滤文件的坑
  10. 机器学习笔试面试整理
  11. java token 生成_生成 Token
  12. php5市场占有率,javascript,php_目前国内浏览器的市场占有率?,javascript,php,html,html5,css - phpStudy...
  13. 斯坦福NLP名课带学详解 | CS224n 第17讲 - 多任务学习(以问答系统为例)(NLP通关指南·完结)
  14. java监听服务器信息,java实时监控服务器状态
  15. CSS控制背景图片自适应表格大小
  16. 科学计算机如何进行复数运算,教你如何用你的卡西欧学生计算器进行复数运算!...
  17. web常见漏洞解析 注入 xss csrf 文件上传 文件包含 -dvwa演示
  18. Android结束进程的几种方法
  19. Linux挂载--什么是挂载
  20. android桌面悬浮窗,Android桌面悬浮窗

热门文章

  1. 苹果平板怎么录屏_使用平板快速设计制作书写类教学视频
  2. [境内法规]中国人民银行关于分支行反洗钱工作的指导意见—银发[2005]56号
  3. gitlab自定义头像设置
  4. 6位行政区划代码与4位银行地区代码对应表
  5. 汉王数据导入java环境,汉王数据管理系统导入数据怎样进行数据更新,只导出一天的考勤数据?...
  6. 《一本书读懂中国税》- 笔记
  7. android 不压缩保存图片格式,Android图片处理——压缩、剪裁、圆角、保存
  8. SpreadJS 15.0.5 SpreadJS Excel在线设计
  9. postman接口测试
  10. Java面向对象三大特征