Android之Animation<3>

        前面的两篇博文一个是直接在代码中new出alpha、rotate、scale、translate对象,一个是在xml文件的set标签中指定,如果在set标签下指定对个Animation对象,就会出现叠加的效果。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha 
        android:fromAlpha="1.0"
        android:toAlpha="0.0"
        android:duration="3000"/>
    
    <rotate 
        android:fromDegrees="0"
        android:toDegrees="360"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="3000"/>

</set>

认识Interpolator

Interpolator定义了动画变化的速率,在Animation框架中定义了如下几种Interpolator。

AccelerateDecelerateInterpolator:在动画开始于结束的地方速率改变比较慢,在中间的时候加速。

AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始加速。

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

DecelerateInterpolator:在动画开始 的地方速率改变比较慢,然后开始减速。

LinearInterpolator:动画以匀速速率改变。

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:shareInterpolator="true">

</set>

 在set标签中设置set标签中alpha、scale、rotate、translate的interpolator,shareInterpolator=true表面set标签中所有的子标签都享有此interpolator,false的话就需要子标签自己设置自己的interpolator,在代码中亦有相应的设置。

相关推荐