使用Surfaceview繪製圖形:
1.方法一:創建一個類繼承於SurfaceView,並繼承接口surface.Callback。重寫surfaceCreated(),surfaceChanged(),surfaceDestroyed()方法
class MyView extends SurfaceView implements Callback
{
code。。。。。。
}
方法二:不繼承接口,在新創建的類內部創建一個callback
Callback callback = new Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
}
@Override
public void surfaceCreated(SurfaceHolder arg0) {
draw();//創建時調用方法
}
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
}
};
2
private Paint paint = null;//需要一個畫筆
public MyView(Context context) {
super(context);
paint = new Paint();
paint.setColor(Color.RED);
getHolder().addCallback(this);//添加回調方法
}
public void draw() { //寫一個畫圖方法
Canvas canvas = getHolder().lockCanvas();//先必須鎖定
canvas.drawColor(Color.WHITE);
canvas.drawRect(0, 0, 100, 100, paint);
getHolder().unlockCanvasAndPost(canvas);//最後記得解鎖
}