Android 使用 XML 来编写动画

使用 XML 来编写动画,画的时间可能比 Java 代码长一点,但是重用起来就轻松很多

对应的 XML 标签分别为

<animator>
<objectAnimator>
<set>

相关的属性如下

属性 说明
android:ordering 指定动画的播放顺序:
sequentially(顺序执行)
together(同时执行)
android:duration 动画的持续时间
android:propertyName="x" 这里的x,还记得上面的 "alpha" 吗?加载动画的那个对象里需要定义 getx()setx() 的方法,objectAnimator 就是通过这里来修改对象里的值的
android:valueFrom="1" 动画起始的初始值
android:valueTo="0" 动画结束的最终值
android:valueType="floatType" 变化值的数据类型

从 0 到 100 平滑过渡的动画

    <?xml version="1.0" encoding="utf-8" ?>
    <animator xmlns:android="http://schemas.android.com/apk/res/android"  
        android:valueFrom="0"  
        android:valueTo="100"  
        android:valueType="intType" />

将一个视图的 alpha 属性从 1 变成 0

    <?xml version="1.0" encoding="utf-8" ?>
    <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"  
        android:valueFrom="1"  
        android:valueTo="0"  
        android:valueType="floatType"  
        android:propertyName="alpha" />

set 动画使用演示

    <?xml version="1.0" encoding="utf-8" ?>
    <set android:ordering="sequentially" >
        <set>
            <objectAnimator
                android:duration="500"
                android:propertyName="x"
                android:valueTo="400"
                android:valueType="intType" />
            <objectAnimator
                android:duration="500"
                android:propertyName="y"
                android:valueTo="300"
                android:valueType="intType" />
        </set>
        <objectAnimator
            android:duration="500"
            android:propertyName="alpha"
            android:valueTo="1f" />
    </set>

加载动画文件

AnimatorSet set = (AnimatorSet)AnimatorInflater.loadAnimator(mContext, 
             R.animator.property_animator);  
animator.setTarget(view);  
animator.start();

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.