单击按钮时,我正在尝试重绘视图上覆盖的路径。 为此,我保留了触摸事件所涵盖的所有点的链接列表。但遗憾的是,画布上没有任何内容。 我通过print语句检查了所有控制流程,它们似乎工作正常。 请帮我解决一下
触摸事件中的代码是: x,y分别是event.getx(),event.gety()
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
path.moveTo(x, y);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(x, y);
ll.add(new Point((int) x, (int) y));
break;
default:
return false;
按钮的事件处理程序是
public void onClick(View v) {
setPractise = true;
path.reset();
postInvalidate();
}
提取方法是
protected void onDraw(Canvas canvas) {
if(!setPractise){
canvas.drawPath(path, pencil);
}
else
{
while(( p =ll.getNext()) != null){
x = (float)p.x;
y = (float)p.y;
canvas.drawLine(px, py, x, y, pencil);
System.out.println("working"+"x is "+x+" y is "+y);
px =x;
py = y;
}
}
}
答案 0 :(得分:0)
尝试首先调用onDraw方法中的super方法:
super.onDraw(canvas);