Translate动画是非常好理解,就是定义一个开始的位置和一个结束位置,定义移动时间,然后就能自动产生移动动画。
比如定义一个上下进出动画。效果图如下:
退出动画:
<set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="150" android:interpolator="@android:anim/linear_interpolator"> <translate android:fromYDelta="0" android:toYDelta="-80%p" /> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" /> </set>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="150" android:interpolator="@android:anim/linear_interpolator"> <translate android:fromYDelta="80%p" android:toYDelta="0" /> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" /> </set>
android:interpolator:加速器,可以简单理解为动画的速度,可以是越来越快,也可以是越来越慢,或者是先快后忙,或者是均匀的速度等等。对应 值如下:
@android:anim/accelerate_interpolator: 越来越快
@android:anim/decelerate_interpolator:越来越慢
@android:anim/accelerate_decelerate_interpolator:先快后慢
@android:anim/anticipate_interpolator: 先后退一小步然后向前加速
@android:anim/overshoot_interpolator:快速到达终点超出一小步然后回到终点
@android:anim/anticipate_overshoot_interpolator:先后退一小步,到达终点超出一小步然后回到终点
@android:anim/bounce_interpolator:到达终点产生弹球效果,弹几下回到终点
@android:anim/cycle_interpolator:用指定的循环数,重复播放动画
@android:anim/linear_interpolator:均匀速度。
android:duration: 动画运行时间,定义在多长时间(ms)内完成动画
android:startOffset:延迟一定时间后运行动画
fromXDelta:X轴方向开始位置,可以是%,也可以是具体的像素,加上p表示以父层view为参照
toXDelta:X轴方向结束位置,可以是%,也可以是具体的像素,加上p表示以父层view为参照
fromYDelta:Y轴方向开始位置,可以是%,也可以是具体的像素,加上p表示以父层view为参照
toYDelta:Y轴方向结束位置,可以是%,也可以是具体的像素,加上p表示以父层view为参照
android:fromAlpha:设置动画起始透明度,1.0表示完全不透明,0.0表示完全透明
android:toAlpha:设置动画结束透明度,1.0表示完全不透明,0.0表示完全透明