Androidプログラマへの道 〜 Moonlight 明日香 〜 - アニメーションの動作に変化をつける
アニメーションフレームワークは, 以下の2種類が準備されている.   Viewに限らず任意のオブジェクト(View, Drawable, Fragument, etc)に対してアニメーションを実行できる.   Viewに対してのみアニメーションを実行できる.

Tweenedアニメーションの動作に変化を付ける場合, アニメーションのInterpolatorクラスを利用する.

アニメーション変化の種類

クラス名属性値説明API Level
AccelerateDecelerateInterpolatoaccelerate_decelerate_interpolator加速と減速1
AccelerateInterpolatoraccelerate_interpolator加速1
AnticipateInterpolatoranticipate_interpolator開始時に逆方向に溜める4
AnticipateOvershootInterpolatoanticipate_overshoot_interpolator開始時に逆方向に溜め, 終了時にはみ出す4
BounceInterpolatorbounce_interpolator終了時にバウンド4
CycleInterpolatorcycle_interpolator設定したアニメーションの負の方向も使用しながら繰り返す1
DecelerateInterpolatordecelerate_interpolator減速1
LinearInterpolatorlinear_interpolator変化を加えない1
OvershootInterpolatorovershoot_interpolator終了時にはみ出す4
TimeInterpolatortime_interpolatorカスタマイズ11

Property Animation (API Level 11)

移動アニメーションを行う」をベースに説明する.
他のTweenedアニメーションについては, 以下を参照のこと.
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
  <objectAnimator
    android:interpolator="@android:anim/decelerate_interpolator"
    android:propertyName="translatonX"
    android:duration="10000"
    android:valueFrom="0"
    android:valueTo="100"
    />}
  <objectAnimator
    android:interpolator="@android:anim/decelerate_interpolator"
    android:propertyName="translationY"
    android:duration="10000"
    android:valueFrom="0"
    android:valueTo="120"
    />
</set>

View Animation (API Level 1)

  • res/anim/translate.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:anim/decelerate_interpolator"
  android:fromXDelta="0"
  android:toXDelta="100"
  android:fromYDelta="0"
  android:toYDelta="120"
  android:fillAfter="true"
  android:duration="10000"
  />