Android三种动画的区别 以及----属性动画

Android的三种动画:

帧动画: 像电影片段一样,由一张一张的图片组成的一组动画效果,效果比较多样化,实现种类多,缺点是资源消耗过大,繁琐。

补间动画:和帧动画一样,android3.0之前(API11)前的,补件动画的特点是,只能作用于View上,比如button,TextView,linelayout等等上面。并且动画效果只是视觉上的效果,其view组件还是在原来位置。

属性动画:属性动画是在android3.0之后出来的,其目的就是改善,解决补间动画的不足,所以属性动画的使用的地方就比较广泛,不单单是简单的view上,而是java对象,并且组件的位置也会根据动画效果而改变。实现效果也不再那么单一。

属性动画本质原理:

           通过不断对值发生改变,并不断把该值赋值给对象的属性,从而实现该对象在该属性上的动画效果。(下附逻辑图)

                                                                属性动画逻辑图

属性动画介绍:

属性动画使用到的两个方法类:ValueAnimator和objectAnimator。

两个辅助使用类:插值器 和 估值器

  1):ValueAnimator:

        定义:属性动画中最核心的一个类。

        实现动画原理:通过不断控制  值  的变化,然后  手动  赋值给对象的属性,从而实现动画效果。

        ValueAnimator中重要的三个方法:

                    ValueAnimator.ofInt(int values)

                     ValueAnimator.ofFloat(float values)

                     ValueAnimator.ofObject(int values)   

    2):ObjectAnimator:直接对对象的属性值发生改变操作,从而实现动画效果。

               本质原理:通过不断控制  值  的变化,然后  自动   赋值给对象的属性,实现动画效果。

ValueAnimator和ObjectAnimator区别:

原理上:            

       ValueAnimator类是先改变值,然后手动赋值给对象的属性从而实现动画;是间接对对象属性进行操作;

       ObjectAnimator类是先改变值,然后自动赋值给对象的属性从而实现动画;是直接对对象属性进行操作。

两者类之间的区别:

         其实二者都是属于属性动画,本质上是一样的,都是先改 变值,然后赋值给对象属性,从而实现动画操作。

          但二者区别就在与,ValueAnimator类是  手动  赋值给对象的属性,从而实现动画,是间接对对象属性进行操作。

           ValueAnimator 类本质上是一种 改变 值 的操作机制。而ObjectAnimator类,是  自动  赋值给对象的属性,从

            而实现动画操作。是直接对对象属  性进行操作。可以理解为ObjectAnimator类更加智能,自动化程度更高。                       

                         

3):插值器(Interpolator)

          定义:Android实现动画效果中的一个辅助类        

          作用:1:设置 属性值 从初始值过渡到结束值的变化规律

                     2:如匀速,加速,减速等等

                     3:即确定了动画效果变化的模式,如匀速变化,加速变化等等。

          应用场景: 1:实现非线性运动的动画效果。

                             2:非线性运动定义为:动画改变的速率不是一致的。

                             3:如加速,减速,都是非线性运动。

4):估值器(TypeEvaluator)

          定义:Android实现动画效果的一个辅助接口。

          作用:1:设置 属性值 从初始值过渡到结束值的变化具体数值                      

                     2:插值器(Interpolator)决定 值 的变化规律(匀速、加速...),即决定的是变化趋势,而接下来的

                    具体变化数据交给估值器。

                     3:属于属性动画特有的属性。                        

          应用场景:1:协助插值器完成非线性运动的动画效果。

                            2:非线性运动定义:动画改变的速率不是一致的。

                            3:如加速,减速,都是非线性运动。         

    估值器与插值器的区别:

                                        

                                                        估值器与查之前的区别

 以及属性动画所涉及到的重要的类:(附图如下)

                                                        属性动画涉及到的重要的类

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值