SurfaceView的基本使用 页面代码
1.页面代码
<SurfaceView
android:id="@+id/sv_draw"
android:layout_width="match_parent"
android:layout_height="match_parent" />
2.逻辑代码
// 创建控件对象
final SurfaceView svDraw = findViewById(R.id.sv_draw);
// 设置回调方法
svDraw2.getHolder().addCallback(this);
// 实现回调
implements SurfaceHolder.Callback
// 实现方法
@Override
public void surfaceCreated(SurfaceHolder holder) {
Paint mPaint = new Paint();
mPaint.setColor(Color.WHITE);
mPaint.setAntiAlias(true);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
// 获取画布
Canvas mCanvas = holder.lockCanvas();
// 绘制背景
mCanvas.drawRect(0,0,svDraw2.getWidth(),svDraw2.getHeight(),mPaint);
// 获取图片
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.demo1);
// 绘制图片
mCanvas.drawBitmap(mBitmap,0,0,mPaint);
holder.unlockCanvasAndPost(mCanvas);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}