我想通过使用以下代码从我绘制的Canvas
中删除文本。
canvas.drawText(label, width / 4, height / 3, paint_text);
完成后,用户可以编辑该文本,以便在编辑之前从画布中删除已经绘制的文本并写入新文本。
有一件事我想说清楚,我用图像位图在画布上写文字。
有可能以任何其他方式吗?请帮我解决这个问题。
答案 0 :(得分:1)
从canvas中删除文本的唯一方法是采取一个条件,如果条件不满足则不要绘制这些文本。通常我们使用画布继续绘制。
if(flag){
///draw text
}else{
//Do not draw
}
再次调用onDraw()方法以显示新的更改如果你在同一个线程或来自不同线程的postInvalidate(),则调用inValidate()
答案 1 :(得分:1)
我建议你每次编辑文本时重绘,这可以通过调用setText()方法中的invalidate()方法来完成。因此,让用户编辑文本,然后只需重绘画布:
public setText(String text)
{
label = text;
this.invalidate();
}
...
//inside your draw method
canvas.drawText(label, width / 4, height / 3, paint_text);
...
答案 2 :(得分:0)
使用invalidate();见下面的例子
@覆盖
File "C:\Python27\lib\site-packages\boto\s3\key.py", line 1726, in get_contents_to_filename
os.remove(filename)
WindowsError: [Error 5] Access is denied: 'path/to/folder'
// invalidate可以删除然后重新创建另一个
protected void onDraw(final Canvas canvas) {