Android 在画布上绘制并刷新图像

Android 在画布上绘制并刷新图像,android,canvas,Android,Canvas,你好,很抱歉我的英语不好。 在我的应用程序中,onDraw()方法使用canvas绘制10x10字段和线条。 然后,在另一种方法中,我希望一些单元格被涂成黄色 代码是: Paint ship = new Paint(); ship.setColor(getResources().getColor(R.color.ship_color)); Canvas canvas = new Canvas(); Rect r = new Rect(x*(rebro_piece)

你好,很抱歉我的英语不好。 在我的应用程序中,onDraw()方法使用canvas绘制10x10字段和线条。 然后,在另一种方法中,我希望一些单元格被涂成黄色

代码是:

    Paint ship = new Paint();
    ship.setColor(getResources().getColor(R.color.ship_color));
    Canvas canvas = new Canvas();
    Rect r = new Rect(x*(rebro_piece),y*rebro_piece, x*(rebro_piece+1), y*(rebro_piece+1));
    canvas.drawRect(r, ship);
但什么也没发生。我该怎么办


UPD:我说得对吗,画布只在onDraw()方法中绘制,而不在其他方法中绘制?

您必须调用invalidate来计划新的重画。我添加了invalidate(r),但仍然没有任何结果。Canvas Canvas=new Canvas();你正在画一幅无家可归的画布,我怎样才能让现有的画布在上面画呢?问题是我从另一个类调用了这段代码,该类没有扩展Views而不是homeles位图,因为我找不到10x10位图…>>><代码>位图位图=Bitmap.createBitmap(10,10,Bitmap.Config.ARGB_8888)
Canvas Canvas=新画布(位图)这是您的代码