Android Animation学習(六)View Animation紹介
8126 ワード
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/ディレクトリの下に配置されます.ファイルには一意のルートノードが必要です.
このルートノードは、
デフォルトでは、すべてのアニメーションが並列に行われます.スムーズに実行するには、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