android动画小结

动画分类:

概念

1:帧动画(Drawable)动画 ----》其实就是图片播放类似于git

2:View动画(Tween动画)-----》即状态A状态B的一个过程,我们称之为Tween,中间动画,包括平移,缩放,旋转,透明度四种基本动画。

3:属性动画(Property)------》属性动画,解决View动画的缺陷,给非View对象设置动画,真正的改变这个对象的属性来设置的动画

View动画和属性动画的区别 ----》

  1:View动画并不会改变动画的属性值,只是改变了显示效果。Property动画会真正改变属性值

  2: 动画资源放置的目录不同。View动画属性资源放在res/anim/filename , Property动画的属性资源放在res/animator/filename

 

帧动画:其实就是在xml里面配置图片动画资源,将图片进行一帧又一帧的播放。注意下可能出现的OOM异常就可以了

像手机里面的开机动画也是使用的帧动画

View动画(中间动画):在xml里面配置好资源后,通过AnimationUtil.loadAnimation() 即可下载动画,然后将动画设置给控件,那么基本的中间动画包括

 1: AlphaAnimation透明动画

  2:TranslateAnimation(平移动画)

 3:ScaleAnimation(缩放动画)

4: RotateAnimation(旋转动画)

属性动画:通过改变对象的属性值,并且不断对动画的属性值进行操作,并将属性值赋值到对象上,从而得到对象动画。

要素以及连接关系分析

    帧动画:

    类AnimationDrawable, 函数 addFrame() ,动画资源drawableList 是基本要素要素

    通过AnimationDrawable.addFrame(getResource().getDrawable(drawableList),200)将动画列表连接起来

View动画

     类要素  Animation(抽象的) 具体实现有 :AlphaAnimation  RotateAnimation  ScaleAnimation TranslateAnimation AnimationSet

     动画属性资源要素 : value/anim/animation_file

     通过 Animation animation  =  AnimationUtiol.loadAnimation(contexxt,R.anim.animation_file)  将动画连接起来

属性动画 

       类要素 Animator (抽象的)具体实现:ValueAnimator  和  ObjectAnimator  (ObjectAnimator extends ValueAnimator)

       函数要素 :offFloat(Object object , String  propertyName, float...  values)  ----》给某一个对象设置属性动画(比如alpha)动画从开始到结束的一个显示效果

      setDuration(10000) 持续时间 ,start() 动画开启

     连接方式:ObjectAnimator  animator = ObjectAnimator.offFloatoffFloat(Object object , "alpha" 0f,1f) 

      animator.start()  开启动画

扩展: 

   1: 为了实现复杂的组合动画,我们可以使用 类  AnimationSet 这个要素

   2:  为了 让动画在变化过程中,我们能根据动画的变化,做出一些提示,我们使用 插值器TimeInterpolator 和估值器 TypeEvaluator 这两个要素

  3: 为了能监听动画状态,我们使用AnimatorUpdateListener 这个监听器

下面我么具体讲一下 插值器和估值器  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值