gpt4 book ai didi

android - 如何在Android中绘制两种颜色的弧线

转载 作者:行者123 更新时间:2023-11-29 00:25:55 28 4
gpt4 key购买 nike

我想画一个圆,用两种颜色来着色。从 0 度到 180 度为一种颜色,其余为第二种颜色。我有这样的东西:

private void drawCircle(Canvas c)
{
RectF oval = new RectF(20, 20, 100, 100);

c.drawArc(oval, 0, 180, false, getPaintWithColor(R.color.background));
c.drawArc(oval, 180, 360, false, getPaintWithColor(R.color.font_grey));
}

private Paint getPaintWithColor(int colorId){
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setDither(true);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(4);
paint.setColor(getResources().getColor(colorId));

return paint;
}

但在这之后,arc 变成单色的 font_grey 颜色。

最佳答案

来自 Canvas documentation :

sweepAngle Sweep angle (in degrees) measured clockwise

If the sweep angle is >= 360, then the oval is drawn completely.

sweepAngle 参数不是结束角度,它是以度为单位的角度大小。你的第二个圆弧绘制了一个完整的椭圆,因为你的角度是 360

尝试使用 180 作为扫描角度。

关于android - 如何在Android中绘制两种颜色的弧线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19495638/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com