Android画布无法绘制弧形。

4

我想在canvas上绘制一个弧形,方法如下:

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

但是没有任何可见的效果。

从getCircleRect()获取的矩形的边界是正确的,我可以用这种方式绘制矩形(仅作为测试):

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();
}
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);

嗨blessenm,很遗憾你的绘图没有起到作用。 所有的绘制调用都在我的自定义View类中的onDraw(Canvas canvas)方法中。 - andrej

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接