package net.npaka.frameanimationex;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.ImageView;
//フレームアニメーション
public class FrameAnimationEx extends Activity {
private final static int WC=LinearLayout.LayoutParams.WRAP_CONTENT;
AnimationDrawable animation;
//初期化
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//レイアウトの生成
LinearLayout layout=new LinearLayout(this);
layout.setBackgroundColor(Color.rgb(255,255,255));
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
//イメージビューの生成
ImageView imageView=new ImageView(this);
imageView.setBackgroundResource(R.anim.face);
imageView.setLayoutParams(new LinearLayout.LayoutParams(WC,WC));
layout.addView(imageView);
animation=(AnimationDrawable)imageView.getBackground();
}
//タッチ時に呼ばれる
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN) {
//アニメーションの開始と停止
if (!animation.isRunning()) {
animation.start();
} else {
animation.stop();
}
return true;
}
return super.onTouchEvent(event);
}
}
|