本篇文章只是对Android中的动画做一个简单的介绍
Android中的动画重要分为两类:视图动画(View Animation)和属性动画(Property Animation)
其中View Animation又分为补间动画(Tween Animation)和帧动画(Frame Animation、Drawable Animation)
Property Animation中有两种比较重要的类ObjectAnimation和ValueAnimation
比较重要的概念有插值器Interpolator和估值器TypeEvaluator
插值器:设置属性值的变化趋势
估值器:设置属性值的具体变化值
视图动画只能由view使用,有一定的局限性,属性动画可以是任意对象调用
下面来简单看下用法
1、补间动画
补间动画就是对view执行平移、翻转、透明度、缩放动画效果的
需要注意的是,仅仅是改变了view的位置,view的属性还是保持原状,比如点击事件还是在原来的位置生效
有两种设置方法,我们这里一般是在xml中配置
在res/anim文件夹下新建xml文件
<?xml version="1.0" encoding="utf-8"?>
<!--interpolator:差值器,表示动画运行时的时间正常方式,fillAfter:表示动画停留在最后运动的结果-->
<!--java类 xml id值 描述-->
<!--AccelerateDecelerateInterpolator @android:anim/accelerate_decelerate_interpolator 动画始末速率较慢,中间加速-->
<!--AccelerateInterpolator @android:anim/accelerate_interpolator 动画开始速率较慢,之后慢慢加速-->
<!--AnticipateInterpolator @android:anim/anticipate_interpolator 开始的时候从后向前甩-->
<!--AnticipateOvershootInterpolator @android:anim/anticipate_overshoot_interpolator 类似上面AnticipateInterpolator-->
<!--BounceInterpolator @android:anim/bounce_interpolator 动画结束时弹起-->
<!--CycleInterpolator @android:anim/cycle_interpolator 循环播放速率改变为正弦曲线-->
<!--DecelerateInterpolator @android:anim/decelerate_interpolator 动画开始快然后慢-->
<!--LinearInterpolator @android:anim/linear_interpolator 动画匀速改变-->
<!--OvershootInterpolator @android:anim/overshoot_interpolator 向前弹出一定值之后回到原来位置-->
<!--PathInterpolator 新增,定义路径坐标后按照路径坐标来跑。-->
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/cycle_interpolator">
<!--透明度标签:表示透明0到不透明1之间的变换-->
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" >