无法重绘android上的路径

时间:2015-01-16 12:49:48

标签: android android-canvas

单击按钮时,我正在尝试重绘视图上覆盖的路径。 为此,我保留了触摸事件所涵盖的所有点的链接列表。但遗憾的是,画布上没有任何内容。 我通过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;

        }
    }
}

The screen shot of present view

1 个答案:

答案 0 :(得分:0)

尝试首先调用onDraw方法中的super方法:

super.onDraw(canvas);