スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Androidでビューやボタンの簡易アニメーションを実現する方法

Android SDK では、ImageViewやボタンなどのオブジェクトに対して、簡単にアニメーションが実現できるようになっている。
アクションゲームなどの本格的なアニメーションは、SurfaceView や OpenGL ES などを使うのが一般的らしいけど、そういったアプリでなければ、今回紹介する方法でも十分だと思う。

【透明化(フェードイン/フェードアウト)アニメーション】

AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.0f);
alphaAnimation.setDuration(1000);
alphaAnimation.setFillAfter(true);
image.startAnimation(alphaAnimation);


AlphaAnimationクラスのコンストラクタの引数で透明度を指定する。
第1引数はアニメーション開始時の透明度(0.0f-1.0f)を指定。
第2引数はアニメーション終了時の透明度(0.0f-1.0f)を指定。

setDuration()の引数では、アニメーション開始から終了までの時間をミリ秒単位で指定する。

setFillAfter(true)を呼ぶと、アニメーション終了時の表示状態をキープする。falseを指定すると、アニメーション開始時の表示状態に戻る。

【拡大/縮小アニメーション】

ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f, 0.0f ,1.0f ,0.0f,
        image.getWidth()/2, image.getHeight()/2);
scaleAnimation.setDuration(1000);
scaleAnimation.setFillAfter(true);
image.startAnimation(scaleAnimation);


ScaleAnimationクラスのコンストラクタの引数で拡大/縮小率を指定する。
第1引数はアニメーション開始時のX軸方向の表示倍率
第2引数はアニメーション終了時のX軸方向の表示倍率
第3引数はアニメーション開始時のY軸方向の表示倍率
第4引数はアニメーション終了時のY軸方向の表示倍率
第5引数は拡大/縮小の基点位置(X座標)
第6引数は拡大/縮小の起点位置(Y座標)

その他の指定は、他のアニメーションと同様。

【回転アニメーション】

RotateAnimation rotateAnimation = new RotateAnimation(0.0f, 360.0f,
        image.getWidth()/2, image.getHeight()/2);
rotateAnimation.setDuration(1000);
rotateAnimation.setFillAfter(true);
image.startAnimation(rotateAnimation);


RotateAnimationクラスのコンストラクタの引数で回転角度を指定する。
第1引数はアニメーション開始時の角度
第2引数はアニメーション終了時の角度
第3引数は回転する基点位置(X座標)
第4引数は回転する基点位置(Y座標)

【移動アニメーション】

TranslateAnimation translateAnimation = new TranslateAnimation(-10.0f, 10.0f, -10.0f, 10.0f);
translateAnimation.setDuration(1000);
translateAnimation.setFillAfter(true);
image.startAnimation(translateAnimation);


第1引数はアニメーション開始時の位置(X座標)
第2引数はアニメーション終了時の位置(X座標)
第3引数はアニメーション開始時の位置(Y座標)
第4引数はアニメーション終了時の位置(y座標)

これだけのコードでアニメーションが作成できるので超便利!

なお、見た目だけでなく、実際にビューが拡大したり移動したりしているので、ビューを配置しているレイアウトの枠を超えることは出来ない。また、文字入力などのOSが制御している操作と絡めると、アニメーションがカクカクになる場合もあるので注意が必要。iPhoneアプリでも同じような方法でお手軽アニメーションを作成できるが、こちらの方が滑らかに動くので、Android版は少し見劣りする印象も。現在、iPhoneアプリの「タイピング革命」をAndroidに移植中だが、文字入力と同じタイミングでアニメーションさせると、表示がカクカクになるため苦労している。。

スポンサーサイト

comment

管理者にだけ表示を許可する

Androidアプリ紹介
リリース中のアプリはまだありません。
iPhoneアプリ紹介
タイピング革命
フリック入力はタイピング革命で練習しよう!ネットランキングがウリのタイピングアプリ

icon-l-typing.jpg

初心者も安心のトレーニングモード搭載!リプレイ機能でオンラインランキング上の達人のプレイを見てみよう!



簡単3Dカメラ
iPhoneで手軽に3D写真を楽しもう!平行法/交差法/アナグリフ/グラグラ3Dに対応。
icon-l-3d.jpg

2枚の写真を撮影するだけで、裸眼で立体視できる3D写真が作成できます。平行法、交差法、アナグリフ、グラグラ3Dと多彩なモードを搭載。85円でこの機能を体感できるのは簡単3Dカメラだけ!

プロフィール

あらきんぐ★

Author:あらきんぐ★
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
アクセスランキング
[ジャンルランキング]
携帯電話・PHS
289位
アクセスランキングを見る>>

[サブジャンルランキング]
Android(Google)
65位
アクセスランキングを見る>>
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。