Java canvas.drawCircle什么也不画

Java canvas.drawCircle什么也不画,java,android,view,draw,Java,Android,View,Draw,这是我的绘图视图: @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); this.canvas = canvas; canvas.drawCircle(this.getWidth()/2,this.getHeight()/2,100, locationPaint); canvas.drawCircle(this.getWidth()/2,this.getHeight()/2,

这是我的绘图视图:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    this.canvas = canvas;
    canvas.drawCircle(this.getWidth()/2,this.getHeight()/2,100, locationPaint);
    canvas.drawCircle(this.getWidth()/2,this.getHeight()/2,300, locationPaint);
    //canvas.drawRect(this.getWidth()/2,this.getHeight()/2,100,100, locationPaint);
}

public void drawCircle(float centerX, float centerY, float width, float height){
    int ratio = 10;
    canvas.drawCircle(centerX/ratio,centerY/ratio,width/ratio,circlePaint);
    canvas.drawCircle(this.getWidth()/2,this.getHeight()/2,200, locationPaint);
}
但是当我打电话给drawCircle时,它没有在视图上画任何东西,我不知道为什么。。。你知道我是不是要打电话给昂德劳

@Override
protected void onDraw(Canvas canvas){
    super.onDraw(canvas);
    canvas.drawCircle(this.getWidth/2, this.getHeight/2, 100, locationPaint();
    canvas.drawCircle(this.getWidth()/2,this.getHeight()/2,300, locationPaint);
}
删除您创建的drawcircle方法。 我认为你不需要super.onDraw()
你不需要这个。canvas=canvas

“不要打电话给我们,我们会打电话给你”-
onDraw
被系统调用,不是吗?你试过画一条线吗?第一个画布上的两个画布。drawCircle正在绘制。您的
locationPaint
初始化是否正确?它有例如颜色集吗?请不要调用
onDraw
方法之外的任何画布相关方法