As long as you cannot directly set the background image to SurfaceView, you can overlap ImageView(displaying the background image) and yours SurfaceViewon top of it, making it transparent.
1920x1080 SurfaceView: ( ) ImageView, 1920x1080 () SurfaceView , , SurfaceView . , :
SurfaceView surfaceView = ...;
surfaceView.setZOrderOnTop(true);
surfaceView.getHolder().setFormat(PixelFormat.TRANSPARENT);
ImageView bgImagePanel = new ImageView(context);
bgImagePanel.setBackgroundResource(...);
RelativeLayout.LayoutParams fillParentLayout = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT);
RelativeLayout rootPanel = new RelativeLayout(context);
rootPanel.setLayoutParams(fillParentLayout);
rootPanel.addView(surfaceView, fillParentLayout);
rootPanel.addView(bgImagePanel, fillParentLayout);
SurfaceView : ( "" SurfaceView)
canvas.drawColor(0, PorterDuff.Mode.CLEAR);