tween动画
实现目标对象的变换,如移动、旋转、色彩变换、拉伸等。
xml文件位置:res/amin/xxx.xml
对应类:Animation
.
资源引用:in java R.anim.xxx in xml @[package:]anim/xxx
xml定义语法:
<?xml version="1.0" encoding="utf-8"?>
<setxmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@[package:]anim/interpolator_resource"
android:shareInterpolator=["true" | "false"] >
<alpha
android:fromAlpha="float"
android:toAlpha="float"/>
<scale
android:fromXScale="float"
android:toXScale="float"
android:fromYScale="float"
android:toYScale="float"
android:pivotX="float"
android:pivotY="float"/>
<translate
android:fromXDelta="float"
android:toXDelta="float"
android:fromYDelta="float"
android:toYDelta="float"/>
<rotate
android:fromDegrees="float"
android:toDegrees="float"
android:pivotX="float"
android:pivotY="float"/>
<set>
...
</set></set>
该xml文件中有且只有一个根元素,该元素可以是rotate、alpha、scale、translate、set
:持有其他元素的容器<set>
AnimatorSet
.
android:interpolator:
指定动画加速状态,可以是先加速后减速、一直加速、一直减速等
android:shareInterpolator:
true:同子元素共享同一个加速器
false:不共享
<alpha>:色彩渐变动画,
AlphaAnimation
android:fromAlpha
Float.色彩渐变开始值。取值范围0-1 0透明 1不透明。
android:toAlpha
Float.色彩渐变结束值。取值范围0-1
<scale>:物体尺寸缩放变化动画
ScaleAnimation
.
android:fromXScale
android:toXScale
android:fromYScale
android:toYScale
android:pivotX
android:pivotY
<translate>:物体垂直或者水平移动动画
TranslateAnimation
.
android:fromXDelta
android:toXDelta
Float or percentage. 结束时x方向偏移量
android:fromYDelta
Float or percentage. 开始时y方向偏移量
android:toYDelta
Float or percentage. 结束时y方向偏移量
<rotate>:物体旋转动画
RotateAnimation
.
android:fromDegrees
android:toDegrees
android:pivotX
android:pivotY
<alpha
android:duration="2000"
android:fromAlpha="0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1" />
<translate
android:duration="2000"
android:fromXDelta="100%p"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="0%p" />
Animation out = AnimationUtils.loadAnimation(this, R.anim.out);
layout2.startAnimation(out);
动画选择器:
是一组定义在xml中可以影响动画执行速度的修饰符。可以使你的动画加速、减速、重复、回弹
的执行。
android:interpolator
指定动画使用动画加速类型,所有动画的类都是
Interpolator的子类。
AccelerateDecelerateInterpolator |
@android:anim/accelerate_decelerate_interpolator |
AccelerateInterpolator |
@android:anim/accelerate_interpolator |
AnticipateInterpolator |
@android:anim/anticipate_interpolator |
AnticipateOvershootInterpolator |
@android:anim/anticipate_overshoot_interpolator |
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 |
<?xml version="1.0" encoding="utf-8"?><InterpolatorNamexmlns:android="http://schemas.android.com/apk/res/android"
android:attribute_name="value"
/>
假设不知道任何属性,系统将会自动匹配上表中的动画选择器。
<anticipateOvershootInterpolator>
开始向后,然后向前超过指定值,在回弹到指定值
<bounceInterpolator>
动画结束的时候弹起
<cycleInterpolator>
动画循环播放特定的次数,速率改变沿着正弦曲线
<decelerateInterpolator>
开始速度很快,然后减速,后面很慢
<linearInterpolator>
动画匀速变化
<overshootInterpolator>
动画开始向前,超越最后值,然后回到最后值