import java.util.Timer;

import java.util.TimerTask;

import java.util.Vector;



import android.R.integer;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.Canvas;

import android.util.AttributeSet;

import android.util.Log;

import android.widget.ImageView;



public class MyImageView extends ImageView {



public boolean bSwitch = false;

private Bitmap bitmap;

Vector<Bitmap> vBmp;

int index;

int i = 0;

long stime ;

private Timer timer = null;

private int width = 30;

private int height = 30;

public MyImageView(Context context, AttributeSet attrs) {


super(context, attrs);




}

public MyImageView(Context context,Vector<Bitmap> vBmp) {

super(context);

this.vBmp =vBmp;


}


public void setMyImageBitmap(Bitmap bitmap){

this.bitmap = bitmap;

setCycleBmp(false);

if(null != bitmap){

this.postInvalidate();

}

}

public void setCycleBmp(boolean flag){

if(flag == this.bSwitch) return;

this.bSwitch = flag;

if(this.bSwitch){

//启动计时器

StartTimer();

}else{

//关闭计时器

closeTimer();

}

}


private void StartTimer(){

timer = new Timer();

timer.schedule(new MyTask(), 50, 150);

}

private void closeTimer(){

timer.cancel();

}


@Override

protected void onDraw(Canvas canvas) {

if(this.bSwitch){

canvas.drawBitmap(vBmp.get(index),this.getWidth()/2-this.width,this.getHeight()/2-this.height, null);


}else if(null != bitmap){

canvas.drawBitmap(bitmap, 0, 0,null);

}

}

class MyTask extends TimerTask {



@Override

public void run() {


if(++index == MyImageView.this.vBmp.size())

index=0;

MyImageView.this.postInvalidate();

}


}



}