网站首页 > 编程文章 正文
每一次当我们打开App的时候,看到那么多的APP有那么炫酷的效果,羡慕不已,而看看自己的APP,感觉好单调,其实,好看的APP界面,除了良好的UI设计之外,还有动画起着关键的作用,今天我们就主要介绍一下Android的动画,让我们的App也炫酷起来~
Android动画的分类:Android3.0以前安卓支持两种动画模式,Tween animation(补间动画)、Frame animtion(帧动画)。在Android3.0中引入了一个全新的动画系统,Property animation(属性动画)。这三种动画模式在SDK中又被称为Property animation、View Animation、Drawable Animation.
下面我们具体讲一下区别:
Android动画
帧动画:
AnimationDrawable 就像是Gif图片,通过一系列Drawable依次显示出来来模拟动画的效果,必须以<animation_list>为根元素,以<item>表示要轮换显示的图片。duration属性表示各项显示的时间,xml文件要在res/drawable目录下。
在开发中遇到过以下的问题:
要在代码中调用ImageView的setBackgroudResources方法,如果直接在xml文件中设置其src属性,当触发动画时会forceClose.
在动画start之前要先stop()不然在第一次动画之后会停在最后一帧,这样动画指挥触发一次。
最后一点是SDK中特别提到的,不要在Oncreate()中调用start(),因为AnimationDrawable还没有完全跟Window相关联,如果想要界面显示时就是开始动画,可以在onWindowFouceChanged()中调用start().
补间动画:
1.有点类似以前弄的图片处理的旋转,缩放等,但Tween动画注重的是动画的过程,而不是结果。
2.常见方法:使用xml文件来定义动画,然后代码中通过AnimationUtiiils来加载,获取动画对象。当然也可以直接 使用代码方法,目前所知补间动画存在透明动画(alpha)、缩放动画(Scale)、位移动(translate)、旋转动画(Rotate)当然这些动画也可以组合播放。
属性动画:
Property Animation 这个是Android3.0中才引进的,它更改的是对象的实际属性,在View Animation(Tween Anmiation)中,其改变的是View的绘制效果,真正的View的属性保持不变,比如无论你在对话中怎样缩小Button的大小,Button的有效点击区域还是原来的区域,其位置和大小都没有发生变化,而在Property Animation中,改变的是对象的真实属性,如Button的缩放,Button的位置与大小属性值都改变了,而且Property Animation不止可以应用于View,还可以应用于热河对象。
值动画:
Value Anmaiton 这个值包含了Property Anmiation 动画的所有核心功能,运用时只需要定义属性值后调用该动画的OnUpchangerListner的监听回调,在内部完成相应的功能的渐变即可,个人感觉Value Anmaiton 的使用范围更加广泛。
本文简单介绍了几种动画的区别,并没有贴具体的代码和xml文件进行举例。本文适合面试前简单浏览浏览。如果想详细了解了解动画的怎么在项目中实现,我可以后续认真写一写每一种动画具体怎么实现。
每天分享一些关于Android的点滴,我们共同进步,每天坚持更新~
猜你喜欢
- 2024-10-22 产品经理小技术:图片素材随手找,原型设计快又好
- 2024-10-22 Android设置Button按钮的点击,触碰状态效果
- 2024-10-22 AndroidStudio安卓原生开发_UI高级_StateListDrawable状态选择器
- 2024-10-22 Activity初窥门径(初窥门径是什么意思)
- 2024-10-22 Litho的使用及原理剖析(lithiumtools)
- 2024-10-22 Android图片加载框架哪家强?当然是FaceBook出品的Fresco
- 2024-10-22 Android Pixel 预览版(pixel preview)
- 2024-10-22 Android 属性动画资源(android属性动画平移)
- 2024-10-22 Android屏幕适配方案(android 屏幕适配方案)
- 2024-10-22 关于Android系统各个版本之间的新功能
你 发表评论:
欢迎- 06-24一个老爸画了超级有爱的365幅画 | 父亲节献礼
- 06-24产品小白看魏则西事件——用产品思维审视百度推广
- 06-24某教程学习笔记(一):13、脚本木马原理
- 06-24十大常见web漏洞——命令执行漏洞
- 06-24初涉内网,提权那些事(内网渗透提权)
- 06-24黑客命令第16集:47种最常见的**网站方法2/2
- 06-24铭说 | 一句话木马的多种变形方式
- 06-24Java隐藏的10倍效率技巧!90%程序员不知道的魔法方法(附代码)
- 最近发表
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)