官方的两种Animation:
1)Tween Animation(渐变动画):通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果
2)Frame Animation(帧动画) :顺序播放事先做好的图像
在anim文件加下
<set android:shareInterpolator="是否共享插入器(true/false)"
android:interpolator="如下"
android:fillEnabled="当设置为true时,fillAfter和fillBefroe将会都为true,此时会忽略fillBefore 和fillAfter两种属性"
android:fillAfter="该动画转化是否在动画结束后被应用(true/false)"
android:fillBefore="该动画转化是否在动画开始前被应用(true/false)"
android:repeatMode="重复模式,restart或者reverse"
android:repeatCount="重复次数,integer"
android:duration="动画持续时间,integer"
android:startOffset="动画时间间隔,long"
android:zAdjustment="定义动画z order的变换,[normal] or [top] or [bottom]"
>
<alpha
android:fromAlpha="动画开始时的透明度,float [0,1] 0表示完全透明 1表示完全不透明"
android:toAlpha="动画结束时的透明度,float [0,1] 0表示完全透明 1表示完全不透明"
android:duration="动画持续时间,integer"
/>
<scale
android:fromXScale="动画开始时,X坐标上的伸缩尺寸,float,0.0表示收缩到没有、1.0表示正常无伸缩,小于1表示收缩,大于1表示放大"
android:toXScale="动画结束时,X坐标上的伸缩尺寸"
android:fromYScale="动画开始时,Y坐标上的伸缩尺寸"
android:toYScale="动画结束时,Y坐标上的伸缩尺寸"
android:pivotX="动画相对于物件的X的开始位置"
android:pivotY="动画相对于物件的Y的开始位置"
android:duration
/>
<translate
android:fromXDelta="动画开始时,X坐标上的位置"
android:toXDelta="动画结束时,X坐标上的位置"
android:fromYDelta="动画开始时,Y坐标上的位置"
android:toYDelta="动画结束时,Y坐标上的位置"
/>
<rotate
android:fromDegrees="动画开始时,物件的角度,负数:逆时针旋转,正数:顺时针旋转"
android:toDegrees="动画结束时,物件的角度(可大于360度)"
android:pivotX="动画相对于物件的X的开始位置,[0%,100%],50%表示中间"
android:pivotY="动画相对于物件的Y的开始位置,[0%,100%],50%表示中间"
/>
</set>
interpolator:
AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速
AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速
AnticipateInterpolator 开始的时候向后然后向前甩
AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值
BounceInterpolator 动画结束的时候弹起
CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator 在动画开始的地方快然后慢
LinearInterpolator 以常量速率改变
OvershootInterpolator 向前甩一定值后再回到原来位置