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"
    />

   假设不知道任何属性,系统将会自动匹配上表中的动画选择器。

<accelerateDecelerateInterpolator>

动画在开始和结束的时候比较慢,中间加速

<accelerateInterpolator>

加速

android:factor Float. 加速度 默认值1

<anticipateInterpolator>

  动画开始时向后,然后向前

 android:tension  Float The amount of tension to apply (default is 2).

<anticipateOvershootInterpolator>

开始向后,然后向前超过指定值,在回弹到指定值

android:tension  Float The amount of tension to apply (default is 2).

android:extraTension  Float  The amount by which to multiply the tension (default is 1.5).

<bounceInterpolator>

        动画结束的时候弹起

<cycleInterpolator>

动画循环播放特定的次数,速率改变沿着正弦曲线

android:cycles Integer. The number of cycles (default is 1).

<decelerateInterpolator>

开始速度很快,然后减速,后面很慢

android:extraTension Float . The deceleration rate (default is 1).

<linearInterpolator>

动画匀速变化

<overshootInterpolator>

动画开始向前,超越最后值,然后回到最后值

android:tension Float. The amount of tension to apply (default is 2).

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值