gpt4 book ai didi

Android:寻找具有内外半径的 drawArc() 方法

转载 作者:IT老高 更新时间:2023-10-28 21:38:48 25 4
gpt4 key购买 nike

我有以下自定义 View :

alt text

这是我通过使用 Canvas 的 drawArc() 方法实现的。但是,使用此 drawArc() 方法,我无法限制圆弧的内半径。

我想要的是这样的:

alt text

只剩下一个外环。

我需要的是一个 drawArc() 函数,我可以在其中设置圆弧的内半径。有人知道怎么做吗?

(顺便说一句,重绘内部区域不起作用,因为它需要是透明的。在绘制红色和蓝色锥体后用 Color.TRANSPARENT 绘制内圈不会删除旧的颜色。它只是在上面放了另一层,它是透明的,通过它我仍然可以看到红色和蓝色)

最佳答案

你可以这样做:

    Paint paint = new Paint();
final RectF rect = new RectF();
//Example values
rect.set(mWidth/2- mRadius, mHeight/2 - mRadius, mWidth/2 + mRadius, mHeight/2 + mRadius);
paint.setColor(Color.GREEN);
paint.setStrokeWidth(20);
paint.setAntiAlias(true);
paint.setStrokeCap(Paint.Cap.ROUND);
paint.setStyle(Paint.Style.STROKE);
canvas.drawArc(rect, -90, 360, false, paint);

关键在paint.setStyle(Paint.Style.STROKE);,它用你在setStrokeWidth中定义的描边裁剪弧的中心(在示例中绘​​制一个半径为mRadius 和 20px 厚)。

希望对你有帮助!

关于Android:寻找具有内外半径的 drawArc() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3874424/

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