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();
}
}
}
实现动画图片效果
原创
©著作权归作者所有:来自51CTO博客作者TechOnly的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
GIF格式动画图片怎样在Windows7照片库查看器中显示全部动画图片!
.GIF格式动画图片怎样在Windows7照片库查看器中显示全部动画图片! .
照片 休闲 Windows7 win7 动画图片