使用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);//最后记得解锁
}