小智 7
我也想要这个,但我能找到的最好的答案是"自己创造".所以我做了.
这是非常基本的(我是android的新手)并且未完成,但它应该给你这个想法.
基本上,您只需设置绘画对象
paintPrimary = new Paint();
paintPrimary.setAntiAlias(true);
paintPrimary.setColor(colorPrimary);
paintPrimary.setStyle(Paint.Style.STROKE);
paintPrimary.setStrokeCap(Paint.Cap.ROUND);
Run Code Online (Sandbox Code Playgroud)
并调用canvas.drawArc
class FitDoughnutView extends View {
private RectF _oval;
public FitDoughnutView(Context ctx) {
super(ctx);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawArc(_oval, 0, 360, false, paintSecondary);
canvas.drawArc(_oval, 270, percentDeg, false, paintPrimary);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
_oval = new RectF(width, width, w - width, h - width);
}
}
Run Code Online (Sandbox Code Playgroud)
完整来源: github.com/tehmantra/fitdoughnut
某人的教程:hmkcode.com/android-canvas-how-to-draw-2d-donut-chart/