相关疑难解决方法(0)

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

我有以下自定义视图:

替代文字

这是我通过使用Canvas的drawArc()方法实现的.但是,使用这种drawArc()方法我不能限制弧的内半径.

我想拥有的是这样的:

替代文字

只剩下一个外环的地方.

我需要的是一个drawArc()函数,我可以设置弧的内半径.任何人都知道如何做到这一点?

(顺便说一句,覆盖内部区域不起作用,因为它需要是透明的.Color.TRANSPARENT在绘制红色和蓝色锥体之后绘制内部圆圈不会移除旧颜色.它只是将另一层放在顶部,这是透明的我仍然可以看到红色和蓝色)

android 2d draw geometric-arc

34
推荐指数
3
解决办法
3万
查看次数

Android 甜甜圈图

我创建了一个圆环图,如下所示: 在此处输入图片说明

我的结果甜甜圈图应如下所示:

在此处输入图片说明

我的问题是,我怎样才能用图像实现线条(它们在第二个屏幕截图中四舍五入)

作为参考,这是我编写的代码:

public class PieChartView extends View {

private int[] values = {30, 60, 90, 100, 150};
private int c[] = {Color.MAGENTA,Color.BLUE,Color.RED,Color.CYAN,Color.YELLOW};
private int valuesLength = values.length;
private RectF rectF;
private Paint slicePaint, textPaint;
private Path path;

public PieChartView(Context context, AttributeSet attrs) {
    super(context, attrs);

    valuesLength = values.length;
    slicePaint = new Paint();
    slicePaint.setAntiAlias(true);
    slicePaint.setDither(true);
    slicePaint.setStyle(Paint.Style.FILL);

    path = new Path();
}

@SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas canvas) {
    if(values != null) {
        int startTop = 0;
        int startLeft = …
Run Code Online (Sandbox Code Playgroud)

geometry android canvas view donut-chart

5
推荐指数
1
解决办法
5075
查看次数

标签 统计

android ×2

2d ×1

canvas ×1

donut-chart ×1

draw ×1

geometric-arc ×1

geometry ×1

view ×1