Property 属性动画入门

为了弥补Tween动画的不足,Android3.0,API11以后引入了Property动画

为了兼容android2.3,可以用NineOldAndroids,直接将jar放进项目里面就行了

Property动画与Tween动画差异:

    1:Tween动画只能施加到View对象,而Property动画可以施加到任何对象

     2:Tween动画只是绘制效果动画,View的真正属性没有改变

     3:Tween动画代码量少,使用简单

Property 属性动画入门_第1张图片

animator有两个子类 集合动画与值动画

而值动画下面有对象动画和时间动画

Property 属性动画入门_第2张图片


一般使用ObjectAnimator

Animator API:

     setDuration(long duration) 设置动画时长   xml设置android:duration

     setInterpolator(TimeInterpolator v)      插值器    xml中设置android:interpolator

     setStartDelay(long startDelay)      调用start延迟开始     xml中设置android:startoffset

     setTarget(Object target)     动画对象


valueAnimator API:

      setRepeatMode(int value) 重复模式   xml中 android:repeatMode

      setRepeatCount(int value)  重复次数  xml中 android:repeatCount

       ofArgb(int...l value)   int或者color类型     android:valueForm

       ofint(int... value)       int或者color类型       android:valueTo

       ogFloat(float.... values)       android:valueType

       setFrameDelay(long frameDelay)      多少时间刷新一次,默认10毫秒

ObjectAnimator API:

   setPropertyName(String name)    android:propertyName   String类型,必须要设置节点属性

   动画刷新的过程中会不断的更新该属性,所以对象必须提供该熟悉的处理方法(getXXX,setXXX)

   属性:x,y,rotation,rotationX,rotationY,scaleX,scalY,alpha,translationX和translationY

AnimationSet

     动画集合

     playSequentially()/playTogether()   android:ordering    子动画是先后有序还是同时进行


实现属性动画的方式有两种:

1:xml(TimeAnimator不支持)

   res/animator/

   AnimatorInflator.loadAnimator(myContext,R.animator.example)

  java 方式:

  如:

    

ObjectAnimator anim = ObjectAnimator.ofFloat(v, "translationY", 15 * (v.getHeight()));
anim.setDuration(2000);
anim.start();

3.0之后新增了一些View的属性:

1:translationX和translationY:这两个熟悉控制了View所处的位置,他们的值是由layout容器设置的,view的左顶点 相对于 屏幕原点(0,0)的 x|y 方向值

2: rotation,rotationX和rotattionY:控制View绕着轴点(pivotX和pivotY)旋转,它的表现跟Tween Animation中的rotateAnimation一致

   RotateAnimation的旋转,表现平面的旋转

   而rotationX,Y旋转,是立体的旋转,默认是以View的中心点,做rotation(x,y)过中心点的执行,面向该直线进行翻转

3:scaleX和scaleY:控制View给予pivotX和pivotY的缩放

4:pivotX和pivotY:旋转的轴点和缩放的基点,默认是view的中心

5:x和y:描述了view在其父容器的最终位置,是左上角坐标和偏移量(translationX,translationY)的和

6:alpha:透明度,1是完全不透明,0是完全透明


你可能感兴趣的:(Property 属性动画入门)