我希望能够画一条线,然后撤消该线。恢复/保存方法似乎无效。我从下面的代码中期望得到的是空白视图,因为在绘制线条之后,我们将画布还原为未绘制任何内容的状态。但是,最终结果是屏幕上出现一行,这意味着还原无效。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.drawLine(100, 0, 100, screenWidth, paint);
canvas.restore();
}
我看了其他相关的文章,但是他们使用的是路径而不是方法drawLine。 谁能告诉我我做错了什么或替代方案是什么?
答案 0 :(得分:0)
关键是您必须保存要“绘画”的内容,然后使用绘制的线或元素访问数组。
public void onClickUndo () {
if (paths.size()>0)
{
undonePaths.add(paths.remove(paths.size()-1));
invalidate();
}
else
{
}
//msg to the user
}