Android ondraw函数外部的绘图路径

Android ondraw函数外部的绘图路径,android,Android,我在ondraw函数之外使用drawpath函数。我在我自己的函数中调用它,计算屏幕坐标。但是draw path没有绘制任何东西 drawpath是否仅在ondraw中起作用?是的,当您要绘制路径时,必须使用画布,该画布只能在ondraw(Canvas Canvas)方法中使用。但是,可以从onDraw(Canvas Canvas)方法中调用方法,如下所示 @Override public void onDraw(Canvas canvas) { drawPath(canvas); }

我在ondraw函数之外使用drawpath函数。我在我自己的函数中调用它,计算屏幕坐标。但是draw path没有绘制任何东西


drawpath是否仅在ondraw中起作用?

是的,当您要绘制
路径时,必须使用
画布
,该画布只能在
ondraw(Canvas Canvas)
方法中使用。但是,可以从
onDraw(Canvas Canvas)
方法中调用方法,如下所示

@Override
public void onDraw(Canvas canvas) {
    drawPath(canvas);
}

public void drawPath(Canvas canvas) {

    Paint paint = new Paint();
    paint.setColor(Color.BLACK);

    Path path = new Path();
    path.moveTo(4, -10);
    path.lineTo(20, 0);
    path.lineTo(-9, 0);
    path.close();

    canvas.drawPath(path, paint);
}

另请参见
路径

的更多信息,感谢您解决了我问题的一部分。另一个问题是,在绘制路径之前,我需要使用轨迹方程计算落在该路径上的点,这意味着我无法在ondraw上调用绘制路径。您能建议我替代它吗。因为我得到了确认您的问题原因,我接受您的回答。在计算分数后,我通过调用invalidate解决了问题的后半部分。