=============== Problem description ====================
It basically comes from a lot of code circulating on the Internet that draws a sine. At the beginning, the entire background is black. The following code can be used to change the background when drawing a picture.
Canvas canvas = sfh. lockCanvas (null); canvas. drawColor (Color. BLUE); // clear the canvas sfh. unlockCanvasAndPost (Canvas );
However, I want the software to run surfaceview to have a background color, and the background color will not overwrite my picture. I have added a background image in the layout, but it will block my picture.
I tried to draw the background in onCreate, but I couldn't get the canvas.
@ Override public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. main); sfv = (SurfaceView) this. findViewById (R. id. surfaceView01); sfh = sfv. getHolder (); // The canvas is not available yet. The Canvas is null canvas = sfh. lockCanvas (null); canvas. drawColor (Color. BLUE); sfh. unlockCanvasAndPost (canvas );}
How can I initialize the background?
============= Solution 1 ======================
Learning, please share it with the landlord
For details about surfaceview background initialization