[簡単Androidアプリ] 画像をアニメーションさせてみよう!!(ImageView)




今回はイメージビュー(ImageView)を使って画像を表示し、その画像をアニメーションさせるプログラムを作って行きたいと思います。

まずは、プロジェクトの作成を行ってください。

[簡単Androidアプリ] プロジェクトの作成からHello Worldテキストの出力まで



Layout

レイアウトの作成を行います。


まず、自分のプロジェクトの「res」->「drawable-hdpi」フォルダ内に自分が表示したい画像をコピーしてください。ただし画像のファイル名は半角英数で、最初の一文字は小文字にしてください。


レイアウトを設定するxmlファイルを開きましょう。(ここではactivity_sample_main.xml)


「palette」->「イメージ&メディア」->「ImageView」をアプリケーション画面にドラッグします。


上図のウィンドウが開いたら「drawable-hdpi」フォルダに追加した画像を選択します。(ここでは image)



Coding

コードを入力していきます。

SampleMain.java


package com.sample.brogger;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationSet;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.widget.ImageView;

public class SampleMain extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // レイアウトの指定
        setContentView(R.layout.activity_sample_main);

        // ImageViewのオブジェクトを作成
        ImageView iv = (ImageView) findViewById(R.id.imageView1);

        // ImagViewをクリックした時の処理をするリスナ
        iv.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                ImageView tmpIv = (ImageView) v;

                // アニメーションの集合を作成
                AnimationSet anim = new AnimationSet(true);

                // 回転アニメーションを追加
                anim.addAnimation(new RotateAnimation(0, 360, tmpIv.getWidth()/2, tmpIv.getHeight()/2));

                // 拡大アニメーションの追加
                anim.addAnimation(new ScaleAnimation(1, 2, 1, 2, tmpIv.getWidth()/2, tmpIv.getHeight()/2));

                // 再生時間の設定
                anim.setDuration(1000);

                // アニメーションの再生
                tmpIv.startAnimation(anim);
            }
        });
    }
}




Execution

では実際に実行してみましょう。


画像をクリックすると・・・


アニメーションします。



前投稿:[簡単Androidアプリ] ダイアログ(AlertDialog)を使ってみよう!!
次投稿:[簡単Androidアプリ] 図形を描画してみよう!!(Viewクラスの拡張)



0 コメント: