Androidでは、複数画像をパラパラ漫画のように表示するアニメーションをFrame-By-Frame Animationと呼ぶそうです。Frame-ByFrame AnimationはAnimationDrawableクラスを使用します。
アニメーションの内容をXMLファイルで用意しておき、それをAnimationDrawableクラスに読み込ませます。
以下のファイルをリソースのanimフォルダにanimation.xmlとしてプロジェクトに追加しておきます。
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
<item android:drawable="@drawable/android1" android:duration="100" />
<item android:drawable="@drawable/android2" android:duration="100" />
<item android:drawable="@drawable/android3" android:duration="100" />
<item android:drawable="@drawable/android4" android:duration="100" />
</animation-list>
android1〜4はアニメーションで使用する画像ファイル名です。それぞれの画像を100msecずつ表示するように指定しています。
ソースは以下のようにします。
AnimationDrawable mAnimDrawable = null;
ImageView imgView = null;
・
・
// ImageViewのバックグランドにXMLファイルからアニメーションを読み込み
imgView.setBackgroundResource(R.anim.animation);
// ImageViewからAnimationDrawableを取得
mAnimDrawable = (AnimationDrawable)imgView.getBackground();
// アニメーション開始
mAnim.start();
0 件のコメント:
コメントを投稿