美文网首页
属性动画

属性动画

作者: _Youngjim | 来源:发表于2018-01-12 11:40 被阅读0次

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实现:

示例:

<set>
        <objectAnimator
            android:propertyName="x"
            android:duration="500"
            android:valueTo="400"
            android:valueType="intType"/>
        <objectAnimator
            android:propertyName="y"
            android:duration="500"
            android:valueTo="300"
            android:valueType="intType"/>
    </set>

    <objectAnimator
        android:propertyName="alpha"
        android:duration="500"
        android:valueTo="1f"/>

属性解释:

<set
  android:ordering=["together" | "sequentially"]>
  <objectAnimator
        android:propertyName="string"
        android:duration="int"
        android:valueFrom="float | int | color"
        android:valueTo="float | int | color"
        android:startOffset="int"
        android:repeatCount="int"
        android:repeatMode=["repeat" | "reverse"]
        android:valueType=["intType" | "floatType"]/>
</set>

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”,第一个表示反向重复,第二个为顺序重复。

相关文章

  • 属性动画学习使用总结

    Android 属性动画总结 属性动画的优点 属性动画的使用步骤 实例化属性动画对象 设置属性动画的时长 启动属性...

  • [Android动画]属性动画-小球下落动画实现

    属性动画 属性动画是通过直接改变View属性,实现的动画效果。与补间动画不同的是,属性动画是对象的属性的真实改变,...

  • Android动画-属性动画

    属性动画 所谓属性动画,就是改变对象Object的属性来实现动画过程。属性动画是对View的动画的扩展,通过它可以...

  • 动画之属性动画基础篇

    属性动画 属性动画,改变view或者object的属性实现动画,属性动画比补间动画更强大,不但可以实现旋转、平移等...

  • UI(四十八)属性动画

    属性动画->通过改变图层或者视图上面的属性值(支持动画的属性)产生的动画 属性动画的常用方法属性: 1、初始化 +...

  • iOS - 属性动画

    属性动画->通过改变图层或者视图上面的属性值(支持动画的属性)产生的动画 属性动画的常用方法属性: 1、初始化+(...

  • Android 动画

    动画类型 视图动画(补间动画、逐帧动画)属性动画 补间动画 逐帧动画 属性动画 对比 插值器:确定属性值从初始值过...

  • Android Animation 动画介绍与详解

    一、Animation 动画属性 动画相关的属性:SET属性 二、Animation 动画类型 Android的a...

  • 如何在网页中做出炫酷的动画(使用Spine)

    属性动画和帧动画 web中的动画主要分为属性动画和帧动画两种,属性动画是通过改变dom元素的属性如宽高、字体大小或...

  • 属性动画案例二(加载动画)

    继续属性动画,之前写过 属性动画案例一(基础动画与飘心动画) 简单了解了属性动画,这次来点炫酷的~加载动画,先看一...

网友评论

      本文标题:属性动画

      本文链接:https://www.haomeiwen.com/subject/exesnxtx.html