首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

播发图片的类

2012-07-01 
播放图片的类public class GGView extends View {int COMPONENT_WIDTH//该控件宽度int COMPONENT_HEIGHT

播放图片的类

public class GGView extends View {int COMPONENT_WIDTH;//该控件宽度int COMPONENT_HEIGHT;//该控件高度boolean initflag=false;//是否要获取控件的高度和宽度标志static Bitmap[] bma;//需要播放的图片的数组Paint paint;//画笔 int[] drawablesId;//图片ID数组int currIndex=0;//图片ID数组下标,根据此变量画图片boolean workFlag=true;//播放图片线程标志位public GGView(Context father,AttributeSet as) { //构造器super(father,as);drawablesId=new int[]{//初始化图片ID数组R.drawable.adv1,//将需要播放的图片ID放于此处即可R.drawable.adv2,R.drawable.adv3,};bma=new Bitmap[drawablesId.length];//创建存放图片的数组initBitmaps();//调用初始化图片函数,初始化图片数组paint=new Paint();//创建画笔paint.setFlags(Paint.ANTI_ALIAS_FLAG);//消除锯齿new Thread(){//创建播放图片线程public void run(){while(workFlag){currIndex=(currIndex+1)%drawablesId.length;//改变ID数组下标值GGView.this.postInvalidate();//绘制try {Thread.sleep(3000);//休息三秒} catch (InterruptedException e) {e.printStackTrace();}}}}.start();//启动线程}public void initBitmaps(){//初始化图片函数Resources res=this.getResources();//获取Resources对象for(int i=0;i<drawablesId.length;i++){bma[i]=BitmapFactory.decodeResource(res, drawablesId[i]);}}public void onDraw(Canvas canvas){//绘制函数if(!initflag) {//第一次绘制时需要获取宽度和高度COMPONENT_WIDTH=this.getWidth();//获取view的宽度COMPONENT_HEIGHT=this.getHeight();//获取view的高度initflag=true;}int picWidth=bma[currIndex].getWidth();//获取当前绘制图片的宽度int picHeight=bma[currIndex].getHeight();//获取当前绘制图片的高度int startX=(COMPONENT_WIDTH-picWidth)/2;//得到绘制图片的左上角X坐标int startY=(COMPONENT_HEIGHT-picHeight)/2; //得到绘制图片的左上角Y坐标canvas.drawARGB(255, 200, 128, 128);//设置背景色canvas.drawBitmap(bma[currIndex], startX,startY, paint);//绘制图片}}

热点排行