Android 如何设置图像显示在当前画布后面?

Android 如何设置图像显示在当前画布后面?,android,android-layout,android-emulator,android-canvas,Android,Android Layout,Android Emulator,Android Canvas,我正在用帆布画不同的颜色。 我想设置应该显示为画布背景的图像。当我在这个图像上画的时候,它应该画在图像上,而不是图像后面。 现在,使用下面的代码,它正在图像后面绘制 @Override public void run() { Canvas canvas = null; while (_run){ try{ canvas = mSurfaceHolder.lockCanvas(null);

我正在用帆布画不同的颜色。 我想设置应该显示为画布背景的图像。当我在这个图像上画的时候,它应该画在图像上,而不是图像后面。 现在,使用下面的代码,它正在图像后面绘制

 @Override
    public void run() {
        Canvas canvas = null;
        while (_run){
            try{
                canvas = mSurfaceHolder.lockCanvas(null);

                canvas.drawColor(0, PorterDuff.Mode.CLEAR);

                commandManager.executeAll(canvas);
            } finally {
                Bitmap kangoo = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
                canvas.drawBitmap(kangoo, 130, 100, null);

                mSurfaceHolder.unlockCanvasAndPost(canvas);
            }
        }

    }

那么我应该怎么做才能在图像上画画呢?

没有人给我答案。 但我得到了解决方案,我必须在清除画布后设置图像

代码:


在While(1)循环中重新绘制画布时,可以将语句
canvas.drawBitmap(kangoo,130,100,null)
放在循环的顶部,以便反复绘制画布,然后在其顶部进行绘制

如果要将绘制的零件保存到,请执行以下操作,如将画布转换为位图:

Bitmap  bitmapToBeDrawnFromNextTime = Bitmap.createBitmap( canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
Canvas imageCanvas = new Canvas(bitmapToBeDrawnFromNextTime);
imageCanvas.draw(canvas);
Bitmap  bitmapToBeDrawnFromNextTime = Bitmap.createBitmap( canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
Canvas imageCanvas = new Canvas(bitmapToBeDrawnFromNextTime);
imageCanvas.draw(canvas);