Android 动画实现几种方案

在 Android 的 FrameWork 中,为我们提供三种动画的实现方式:逐帧(Frame)动画、视图/补间动画(View Animation)和属性动画(Property Animation)。由于,这三种动画的实现方式和针对面不一样,应用的范围也有所区别,因此我们需要根据具体的需求来选择正确动画类型。

根据 SDK 中的描述,这三者的功能强大程度为:逐帧动画 < 视图动画 < 属性动画。

一、逐帧动画(Frame Animation)

该动画的方式就是将动画的过程的每一张静态图片都收集起来,然后依次显示这些图片,利用人眼的“视觉停留”的原理,给用户产生动画的效果。

逐帧动画是一种常见的动画形式(Frame By Frame),其原理是在“连续的关键帧”中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。 因为逐帧动画的帧序列内容不一样,不但给制作增加了负担而且最终输出的文件量也很大,但它的优势也很明显:逐帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,而它类似与电影的播放模式,很适合于表演细腻的动画。例如:人物或动物急剧转身、 头发及衣服的飘动、走路、说话以及精致的 3D 效果等等。

二、视图动画(Tween Animation)

也称为补间(Tween)动画,根据这两个定义可以看出该动画方式的一些特征:

1、该动画方式只是针对于 View 对象实现 view 组件的移动、放大、缩小以及渐变等效果,例如 ImageView、Button 等;

2、实现该动画时,只需要给出两个关键帧中的内容即可,动画中各个过渡帧中的内容由 flash 自动生成。可以理解成望文生义,就是在两点之间插入渐变值来平滑过渡。

由于视图动画在 Android 中是一个 older system,所以还不能对所有的效果进行支持,目前只支持:

1、透明度变化的动画(AlphaAnimation);

2、大小缩放的动画(ScaleAnimation);

3、位置变化的动画(TranslateAnimation);

4、旋转动画(RotateAnimation)。

三、属性动画

为了弥补视图动画的不足,Android 在 3.0 中引入了属性动画。和视图动画专注与视图效果不同,它更专注于对象的属性的变化,通过改变对象的属性而实现动画包括可是属性和其他属性,不论该对象是否可见。例如:你使用视图动画将一个 Button 放大一倍,在界面上的效果可以实现,但是该 Button 的触摸响应区域还是和原来的一样,也就是说,视图动画并不是真正的将该 Button 放大一倍。

属性动画和补间动画类似,不过是真的属性在变动,包括可视属性和其他属性。

补间动画仅仅是可视属性在显示层面的动画,属性的实质并未改动。

一般情况下推荐使用最新的属性动画。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是编程之家为你收集整理的Android 动画实现几种方案全部内容,希望文章能够帮你解决Android 动画实现几种方案所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

android 那几种动画,Android 动画实现几种方案相关推荐

  1. Android中四种补间动画的使用示例(附代码下载)

    场景 Android中四种补间动画. 透明度渐变动画 旋转动画 缩放动画 平移动画 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的 ...

  2. Android -- 基础篇 -- Activity跳转动画的五种方式(下)

    上一篇文章中我们讲解了在Activity启动过程中获取组件宽高的五种方式.在Activity的启动过程中如果我们直接在生命周期方法中通过view.getWidth()或者是view.getHeight ...

  3. Android 三种动画 (帧动画 、补间动画、属性动画)

    1.帧动画 帧动画是依次展示n张静态图片,造成动画的错觉,类似看视频一样. 使用方式 在drawable目录下定义XML文件,根节点为animation-list,然后放入定义更好的图片 onesho ...

  4. Android activity跳转动画,6种activity进入动画

    源码链接:https://pan.baidu.com/s/1jAKMNUuCdWVxUm2BUCzL2g 添加动画anim 新activity进入方式 默认是右往左进入动画 1.下往上推进入动画--1 ...

  5. 在android中执行多个动画,Android上几种Animation和多个动画同时播放以ScaleAnimation应用详解...

    在API Demo的View->Animation下可以找到四个Animation的Demo,第一个3D Translate比较复杂,最后再讲,先讲第2个Interpolator.该Activi ...

  6. Android开发之Activity转场动画

    引子 相信开发过iOS的程序员都知道iOS ViewController之间的跳转动画非常多,很酷对不对?这让开发Android的羡慕不已,曾几何时,Android中的Activity跳转是何等的生硬 ...

  7. [Android]Fragment自定义动画、动画监听以及兼容性包使用

    Fragment是Android在API 11之后加入的一个组件,对提高Android开发中的布局合理性和布局效率都有很大作用,尤其是在Android平板等大屏幕设备的开发中,Fragment的引入能 ...

  8. android加载转圈动画,android 围绕中心旋转动画

    本文主要介绍Android中如何使用rotate实现图片不停旋转的效果.Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换(平移.缩放.旋转)产生动画效果 ...

  9. android 自定义刷新控件,Android开发中MJRefresh自定义刷新动画效果

    有时候我们对自己开发的项目经常不满意,但是我们要达到自定义刷新动画的效果有一定的难度,别着急,下面爱站技术频道和大家分享Android开发中MJRefresh自定义刷新动画效果,一起来学习吧! [一] ...

最新文章

  1. ICML 2021:矩阵乘法无需相乘,速度提升100倍,MIT开源最新近似算法
  2. 让asp.net默认的上传组件支持进度条反映(转)
  3. Xbox One:微软商店中都是Xbox One的主题
  4. TreeSet HashSet
  5. babel7中 preset-env 完全使用
  6. hadoop中map的个数
  7. java mysql mac 安装_最新版MySQL在MacOS上的安装与使用!
  8. BZOJ-1922 大陆争霸 多限制、分层图最短路 (堆+dijkstra)
  9. 给Windows 服务添加命令行参数
  10. PC-[WIN7]此计算机无法联接家庭组
  11. 《Unity3D脚本编程与游戏开发》学习Day one
  12. android模拟器电视,AndroidTV 模拟器的搭建
  13. Linux安装配置FTP(pure-ftpd)
  14. 【NOIP冲刺题库题解】1973:【16NOIP普及组】买铅笔
  15. catia制作物料明细_一种基于CATIA的国标标准物料清单的生成方法与流程
  16. PTA-C理论B类题库6-3使用函数求最大公约数(辗转相除法的实现)
  17. 【20221205】Windows系统反斜杠(倒斜杠 \ )和 Linux系统正斜杠(斜杠 / )
  18. IDEA打包下载超时(已经配置阿里私服,去中央私服下载)
  19. R数据分析:数据清洗的思路和核心函数介绍
  20. GPRS连接阿里云物联网平台二

热门文章

  1. 微型计算机及接口技术试题,1月自考微型计算机及其接口技术试题及答案解析...
  2. SQL Server数据库锁的类型、用法及注意事项详解
  3. JavaScript三种弹出框(alert,confirm和prompt)用法举例
  4. linux之安装boost环境
  5. Android之Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
  6. Java - 强引用、弱引用、软引用、虚引用
  7. java剪切txt文件_用Java把剪切板的内容实时保存到txt
  8. android 微信分享gif图,android后台动态创建图片并实现微信分享
  9. linux系统构架ftp,用Linux系统构建高效FTP服务器
  10. java requestbody map_@RequestBody 的正确使用办法