Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> surfaceview

surfaceview

編輯:關於Android編程

surfaceview:可以使用一個線程來繪圖,程序不會因為繪圖而失去響應


1.自定義一個surfaceview:

class
 MySurfaceView extends
 SurfaceView implements
 SurfaceHolder.Callback
2.實現SurfaceHolder.Callback接口的3個回調方法,在surfaceCreated中啟動繪制線程:

@Override

public
void
 surfaceChanged(SurfaceHolder holder, int
 format, int
 width,

int
 height) {

//
 TODO Auto-generated method stub

 

}

 

@Override

public
void
 surfaceCreated(SurfaceHolder holder) {

//
 啟動自定義線程

new
 Thread(new
 MyThread()).start();

}

 

@Override

public
void
 surfaceDestroyed(SurfaceHolder holder) {

//
 TODO Auto-generated method stub

}


3.注冊callback:

public
 MySurfaceView(Context context) {

super(context);

BackgroundImage =
 BitmapFactory.decodeResource(getResources(),

R.drawable.bg);

QuestionImage =
 BitmapFactory.decodeResource(getResources(),

R.drawable.question);

 

Holder =
this.getHolder();//
 獲取holder

Holder.addCallback(this);

}


4.在繪制線程中繪畫:

canvas
=
 Holder.lockCanvas();//
 獲取畫布

.

.

.

.//繪畫,如canvas.drawBitmap等

Holder.unlockCanvasAndPost(canvas);//
 解鎖畫布,提交畫好的圖像

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved