Android 为什么可以';我不能用自己的画布画画吗?

Android 为什么可以';我不能用自己的画布画画吗?,android,canvas,ondraw,Android,Canvas,Ondraw,当我在onDraw()中创建一个新的Canvas时,如下所示: Canvas c = new Canvas(myBitmap); 然后用这个画一些东西,它不起作用 但是,当我使用onDraw(canvas canvas)中的canvas参数时,它是有效的。有人能告诉我为什么吗?试试这个- Bitmap bitmap = Bitmap.createBitmap( view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); Canva

当我在
onDraw()
中创建一个新的
Canvas
时,如下所示:

Canvas c = new Canvas(myBitmap);
然后用这个画一些东西,它不起作用

但是,当我使用
onDraw(canvas canvas)
中的
canvas
参数时,它是有效的。有人能告诉我为什么吗?

试试这个-

Bitmap  bitmap = Bitmap.createBitmap( view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas); 
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
并且,请参见中的相关问题


另外,还可以尝试一下。

您会遇到什么样的错误?如果只想绘制位图,请使用以下代码:

    @Override
           protected void onDraw(Canvas canvas) 
           {
                canvas.drawBitmap(bak, 0, 0, null);
           }

其中“bak”是位图。不需要在onDraw中再次创建另一个额外的画布,因为这是一种冗余

你说的“它不起作用”是什么意思。如果你想找到一个好的答案,你可能需要编辑你的问题来澄清这一点。但是我想画一个320*240的白色区域……当我使用上面的画布时,比如canvas.drawColor(Color.white);整个屏幕是白色的