每日一学(七)Android 动画设计概述

Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类:

       1、Tween动画,也叫补间动画、视图动画。

       2、Frame动画,也叫逐帧动画。

       3、属性动画。

一、Tween动画

        通过对View执行一系列简单变换来实现动画效果,它提供了4种动画效果:

          AlphaAnimation:透明度动画

            RotateAnimation:旋转动画

            ScaleAnimation:缩放动画

            TranslateAnimation:平移动画

            可以单独使用,也可以通过动画集合类(AnimationSet)可以将多个补间动画以组合的形式显示出来。

           在Android3.0之前,Tween动画一家独大,它的优点非常明显,即效率比较高且使用方便,能够满足绝大多数的动画需求,但是随着Android 3.0以后属性动画的推出,它的风光就大不如从前。主要是因为它有以下缺点:

            1、只能应用于View对象

            2、不具备交互性,当某个元素发生视图动画后,其响应事件的位置还依然在动画前的地方,所以视图动画只能做普通的动画效果,避免交互的发生。

            一个Tween动画的实例:

                                        这里写图片描述

二、Frame动画

        Frame动画,从字面上理解就是一帧挨着一帧的播放图片,就像放电影一样。和补间动画一样可以通过xml实现也可以通过java代码实现。

           一个Frame动画的效果展现:

                          

        


三、Frame动画、Tween动画的补充说明:

         1、Frame动画是在时间帧上逐帧绘制帧内容,由于是一帧一帧的画,所以逐帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,但是Frame动画只能实现比较小的动画效果,如果复杂而且帧数比较多的动画不太建议使用Frame动画,一方面是因为会造成OOM,另一方面会显得很卡,如果真是超级复杂的动画的话建议选择双缓冲绘制View来实现。

             2、Frame动画相比,Tween动画具有以下几个特点:首先,制作方法简单方便。只需要为动画的第一个关键帧和最后一个关键帧创建内容,两个关键帧之间帧的内容由Flash自动生成,不需要人为处理。其次,相对于Frame动画来说,Tween动画更为连贯自然。因为逐帧动画是由手工控制,帧与帧之间的过渡很可能会不自然、不连贯,而Tween动画除了两个关键帧由手工控制外,中间的帧都由Flash自动生成,技术含量很高,因此过渡更为自然连贯。最后,相对于逐帧动画来说,补间动画的文件更小,占用内存少。

四、属性动画

          由于已有的动画框架Animation存在一些局限性:动画改变的只是显示,并不能响应事件,Andorid在3.0版本上推出了属性动画,它实际上是一种不断地对值进行操作的机制,并将值赋值到指定对象的指定属性上,可以是任意对象的任意属性。所以我们仍然可以将一个View进行移动或者缩放,也可以针对非view对象进行操作,我们只需要告诉系统动画的运行时长,需要执行哪种类型的动画,以及动画的初始值和结束值,剩下的工作就可以全部交给系统去完成了。

              属性动画最大的特点就是 保留了这些监听之类的属性,即使位置发生变化也不会影响它的使用。

              一个属性动画的例子:

                                Android动画效果之Property Animation进阶(属性动画)


             这里对android的动画进行简单介绍,后续会详细记录每种动画的原理及使用方法。

              

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值