2010年11月11日木曜日

ImageViewにパラパラ漫画を表示

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 件のコメント:

コメントを投稿