属性动画

Android里面动画实现方式主要分为三种:
1.Tween动画
主要是改变控件的旋转,平移,缩放,透明度,但是也就这些效果了
2.帧动画
逐帧播放图片实现动画,缺点图片资源多,体积大
3.属性动画(Property Animation)
理论上只要是View的属性,基本都可以改变,比Tween动画更强大。什么变色啊,3D旋转(Z轴)。

属性动画的代码实现比较简单:

单个动画

ObjectAnimator animator = ObjectAnimator.ofFloat(textview, "alpha", 1f, 0f, 1f);  
animator.setDuration(5000);  
animator.start(); 

组合动画

AnimatorSet animatorSet = new AnimatorSet();
        //移动
        ObjectAnimator ty = ObjectAnimator.ofFloat(btn, "translationY", 0,300);
        ty.setDuration(1000);
        //旋转
        ObjectAnimator ry = ObjectAnimator.ofFloat(btn, "rotationY", 0,1080);
        ry.setDuration(1500);
        //透明度
        ObjectAnimator alpha = ObjectAnimator.ofFloat(btn, "alpha", 1,0,0.5f,1);
        alpha.setDuration(2000);
        //缩放
        ObjectAnimator sx = ObjectAnimator.ofFloat(btn, "scaleX", 1,0.5f);
        alpha.setDuration(1000);
        //一起播放
//      animatorSet.playTogether(items);
        animatorSet.play(ry).with(sx).after(ty).before(alpha);
        animatorSet.start();

属性动画的xml实现:

示例:


        
        
    

    

属性解释:


  

android:ordering
指定集合中动画播放的顺序。

android:propertyName
属性名称,例如一个view对象的”alpha”和”backgroundColor”。
android:valueFrom
变化开始值

android:valueTo
变化结束值

android:valueType
变化值类型
它有两种值:intType和floatType,第二种为默认值

android:duration
持续时间

android:startOffset
动画开始延迟时间

android:repeatCount
重复次数,-1表示无限重复

android:repeatMode
重复模式,前提是android:repeatCount为-1
它有两种值:”reverse”和”repeat”,第一个表示反向重复,第二个为顺序重复。

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