我在画布上的x,y处画了一个蓝色圆圈。
mPaint.setColor(0xFF0000FF);
mCanvas.drawCircle(x,y, radius, mPaint);
现在我想用红色在同一个地方重绘。
mPaint.setColor(0xFFFF0000);
mCanvas.drawCircle(x,y, radius, mPaint);
这永远不会成功。显示的圆圈始终为蓝色。我该怎么做才能在第二个drawCircle
中实现红圈答案 0 :(得分:0)
在我曾经工作过的应用程序中,我有:
ImageView playLayout;
Display display;
Canvas canvas;
Bitmap bitmap;
Paint paint;
然后我有:
display = getWindowManager().getDefaultDisplay();
screenHeight = playLayout.getHeight();
screenWidth = playLayout.getWidth();
playLayout = (ImageView)findViewById(R.id.playLayout); //playLayout in xml
bitmap = Bitmap.createBitmap(screenWidth, screenHeight, Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
paint = new Paint();
然后在一个线程中防止滞后:
paint.setARGB(255, red, green, blue);
canvas.drawCircle(x, y, circleRadius, paint);
playLayout.post(new Runnable(){
@Override
public void run(){
playLayout.setImageBitmap(bitmap);
}
});
这对我有用。在我致电playLayout.setImageBitmap
之前,圈子实际上并没有画出来。
如果我需要我添加更多信息或任何内容,请告诉我,我会尽力帮助。