Android Animation学習(六)View Animation紹介



Android Animation学習(六)View Animation紹介
 
View Animation
Viewanimationシステムは、View上のTween animationおよびFrame animationを実行するために使用することができる.
Tween animationは、位置、サイズ、回転、透明度など、Viewオブジェクト上で一連の簡単な変換を実行できます.  animation packageパッケージにはtween animationのすべてのクラスが含まれています.
一連のアニメーションコマンドは完全なtween animationを定義し、コード定義でもXMLリソースファイルでも定義できます.
 
XMLリソースファイル
XMLリソースファイルの使用は、Animation Resourcesを参照してください.
XMLファイルはプロジェクトのres/anim/ディレクトリの下に配置されます.ファイルには一意のルートノードが必要です.
このルートノードは、、interpolator element、またはであってもよい.
デフォルトでは、すべてのアニメーションが並列に行われます.スムーズに実行するには、startOffsetプロパティを指定する必要があります.
 
ビュー自体に対してか親コンテナに対してかを指定できる値があります.
例えばpivotXは、自身の50%に対して50%を表す.親コンテナに対する50%を表すには、50と直接書きます.
 
使用例
XMLファイルは、res/anim/hyperspace_として保存されます.jump.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:toXScale="1.4"
        android:fromYScale="1.0"
        android:toYScale="0.6"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fillAfter="false"
        android:duration="700" />
    <set
        android:interpolator="@android:anim/accelerate_interpolator"
        android:startOffset="700">
        <scale
            android:fromXScale="1.4"
            android:toXScale="0.0"
            android:fromYScale="0.6"
            android:toYScale="0.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="400" />
        <rotate
            android:fromDegrees="0"
            android:toDegrees="-45"
            android:toYScale="0.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="400" />
    </set>
</set>

 
コードでこのアニメーションをImageViewに適用します.
ImageView image = (ImageView) findViewById(R.id.image);
Animation hyperspaceJump = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);
image.startAnimation(hyperspaceJump);
 
startAnimation() を呼び出す以外に、Animation.setStartTime()の方法で開始時間を定義し、View.setAnimation()の方法でこのアニメーションをコントロールに割り当てるとよい.
 
ViewAnimationとProperty Animation
ViewAnimationはAPI Level 1が導入したものである.
View Animationはパッケージandroid.view.animationにあります.
アニメーションクラスはAnimationです.
 
Property AnimationはAPI Level 11が導入したもので、Android 3.0にProperty Animation関連のAPIがあるようになった.
Property Animation APIは、パケットandroid.animationに含まれる.
アニメーション関連クラスはAnimatorです.
 
参考資料
  API Guides:View Animation
   http://developer.android.com/guide/topics/graphics/view-animation.html
Tween animationのバッグ:
   http://developer.android.com/reference/android/view/animation/package-summary.html
Animationクラス:
   http://developer.android.com/reference/android/view/animation/Animation.html
  Animation Resources
   http://developer.android.com/guide/topics/resources/animation-resource.html