phpAndroid開発 虎の巻

アニメーション

カテゴリ:ユーザインタフェース

Animation 基底クラス

メソッド

setDuration時間
setFillAfter終了後そのままを保つか
setRepeatCount繰り返し回数(無限:Animation.INFINITE)
setRepeatMode繰り返しモード(Animation.RESTART、Animation.REVERSE)
setAnimationListenerイベントリスナー

AlphaAnimation

コンストラクタ引数 開始アルファ値、終了アルファ値

	AlphaAnimation animation = new AlphaAnimation(1.0F, 0.2F);
	animation.setDuration(3000);
	animation.setFillAfter(true);

	TextView tv = (TextView)findViewById(R.id.textView1);
	tv.startAnimation(animation);		

RotateAnimation

コンストラクタ引数 開始角度、終了角度、回転のX軸の値、回転のY軸の値

	RotateAnimation animation = new RotateAnimation(0, 360, 0, 0);

ScaleAnimation

コンストラクタ引数 開始X倍率,終了X倍率,開始Y倍率,終了Y倍率

	ScaleAnimation animation = new ScaleAnimation(1, 2.0F, 1, 2.0F);

TranslateAnimation

コンストラクタ引数 開始X位置,終了X位置,開始Y位置,終了Y位置

	TranslateAnimation animation = new TranslateAnimation(0, 100, 0, 200);

AnimationSet

複数のアニメーションを合成

例:
AnimationSet set = new AnimationSet(true);
 
AlphaAnimation alpha = new AlphaAnimation(1.0F, 0.2F);
RotateAnimation rotate = new RotateAnimation(0, 360, 0, 0);

set.addAnimation(alpha); 
set.addAnimation(rotetae); 
 
set.setDuration(3000);
tv.startAnimation(set);

アニメーションのXMLでの定義

[File]-[New]-[Other]の「Android」の「Android XML File」 で「Resource Type」を「Tween Animation」にし、ファイル名(例:sample.xml)を入力。/res/anim にファイルが出来る。

<set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:duration="3000" android:fromAlpha="1.0" android:toAlpha="0.2" /> </set>
	Animation anim = AnimationUtils.loadAnimation(this, R.anim.sample);

	TextView tv = (TextView)findViewById(R.id.textView1);
	tv.startAnimation(anim);

カテゴリ:ユーザインタフェースの記事