我有2个ImageViews,1个用于Canvas,其他用于ImageBackground。

ImageViews具有屏幕大小。

当我触摸屏幕时,我需要像示例一样重绘Canvas:

private void reDraw() {

Display display = getWindowManager().getDefaultDisplay();

bmOverlay = Bitmap.createBitmap(display.getWidth(), display.getHeight(), oBitmap.getConfig());

oCanvas = new Canvas(bmOverlay);

//I need to erase this line

oCanvas.drawBitmap(bmpBackGround, new Matrix(), null);

//this code paint some bitmaps on the canvas

for (ColorBall ball : colorballs) {

oCanvas.drawBitmap(ball.getBitmap(), ball.getX(), ball.getY(), null);

}

//set the canvas on the image view

getImageView2().setImageBitmap(bmOverlay);

}

但是,在这个例子中,当我触摸屏幕时,我重绘了Bitmap。我需要重绘一个透明的Canvas,因为我不需要在背景上重绘Bitmap,因为位图永远不会改变。但是如果我不重绘位图,背景会保持黑色并且位图保持在背面。有什么帮助吗?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐