如何清除在Android上绘制油画的内容是什么? [英] How do I clear the contents of a drawn Canvas in Android?
本文介绍了如何清除在Android上绘制油画的内容是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在屏幕上绘制一些事情后清除画布的内容。
I would like to clear the contents of the canvas after drawing certain things on the screen.
我如何完全清除屏幕?它code的任何片段会有所帮助。
How do I clear the screen fully? Any snippets of code on it will be helpful.
感谢。
这是我的code:
public class Panel extends SurfaceView implements SurfaceHolder.Callback {
private ViewThread mThread;
private ArrayList<Element> mElements = new ArrayList<Element>();
public Panel(Context context, AttributeSet attrs) {
super(context, attrs);
this.setBackgroundColor(Color.TRANSPARENT);
this.setZOrderOnTop(true); //necessary
getHolder().setFormat(PixelFormat.TRANSPARENT);
getHolder().addCallback(this);
mThread = new ViewThread(this);
}
public void doDraw(Canvas canvas) {
super.onDraw(canvas);
//canvas.drawColor(Color.TRANSPARENT);
// canvas.drawColor(Color.argb(0, 255, 255, 255));
//canvas.drawColor(Color.rgb(-1, -1, -1));
//canvas.drawARGB(0, 255, 255, 255);
synchronized (mElements) {
for (Element element : mElements) {
element.doDraw(canvas);
}
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
if (!mThread.isAlive()) {
mThread = new ViewThread(this);
mThread.setRunning(true);
mThread.start();
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
if (mThread.isAlive()) {
mThread.setRunning(false);
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
synchronized (mElements) {
mElements.add(new Element(getResources(), (int) event.getX(), (int) event.getY()));
}
return super.onTouchEvent(event);
}
}
推荐答案
试试这个:
canvas.drawColor(0); //use 32bit hex like 0xffffffff for white
或
canvas.drawARGB(0, 0, 0, 0); //0-255 for each component
这将有黑色画布。你可以使用任何你喜欢的颜色。
This will clear the canvas with black. You can use any color you like.
这篇关于如何清除在Android上绘制油画的内容是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文