4

私はこのようにキャンバスに弧を描いてみようとしています:

canvas.drawArc(getCircleRect(), 90, 270, true, PaintCreator.createStrokePaintForArc());

..しかし目に見える効果はありません

getCircleRect()から取得するRectの境界は正しく、この方法でrectを描画できます(テストのためだけに):

canvas.drawRect(getCircleRect(), PaintCreator.createStrokePaintForArc());

drawRectが機能し、drawArcが機能しない理由はありますか?ありがとう


    @Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.save();
    // not working
    canvas.drawArc(getCircleRect(), 90, 270, true, PaintCreator.createFillPaintArc());
    // working well
    canvas.drawRect(getCircleRect(), PaintCreator.createStrokePaintForArc());
    // working well
    canvas.drawCircle(x, y, RADIUS, fillPaint);
    move = false;
    canvas.restore();
}
4

1 に答える 1

0

よくわかりませんが、ペイントオブジェクトに問題があると思います。これを試して

Paint mBgPaints = new Paint();
mBgPaints.setAntiAlias(true);
mBgPaints.setStyle(Paint.Style.FILL);
mBgPaints.setColor(Color.BLUE);
mBgPaints.setStrokeWidth(0.5f);
canvas.drawArc(getCircleRect(), 90, 270, true, mBgPaints);
于 2012-04-12T09:22:09.650 に答える