android 动画资源Tween动画

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
Float. 开始时物体的x方向尺寸, 1表示物体原来的大小.
android:toXScale
Float. 结束时物体的x方向尺寸, 1表示物体原来的大小.
android:fromYScale
Float. 开始时物体的y方向尺寸, 1表示物体原来的大小.
android:toYScale
Float.结束时物体的y方向尺寸, 1表示物体原来的大小.
android:pivotX
Float. 物体缩放时x的中心坐标.
android:pivotY
Float. T物体缩放时y的中心坐标
<translate>:物体垂直或者水平移动动画 TranslateAnimation.
android:fromXDelta
       Float or percentage . 开始时x方向偏移量
               5:移动对应像素5px
               5%:移动目标对象宽度5%
               5%p:移动目标对象父对象5%
android:toXDelta      Float or percentage. 结束时x方向偏移量
android:fromYDelta      Float or percentage. 开始时y方向偏移量
android:toYDelta      Float or percentage. 结束时y方向偏移量
<rotate>:物体旋转动画 RotateAnimation.
android:fromDegrees
Float. 开始时角度.(度)
android:toDegrees
Float. 结束时角度.(度)
android:pivotX
Float or percentage ,x坐标上旋转中心。
        5:距离目标对象左边5px
               5%:距离目标对象左边宽度5%
               5%p:距离目标对象父对象左边宽度5%
android:pivotY
Float or percentage ,y坐标上旋转中心。
<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
自定义动画选择器
 
   当系统定义的动画选择器不满足你的需求是,你可以通过自定义动画选择器来实现自己的动画效果。 
   文件目录:res/anim/xxx.xml   资源引用:in xml   @[package:]anim/xxx   xml定义语法: 
<?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> 动画开始向前,超越最后值,然后回到最后值

猜你喜欢

转载自xxmy.iteye.com/blog/1978415