我需要绘制一个条形图,如下图所示。我可以在文本视图或某些布局上填充颜色来绘制普通条形图。但这有点不同。如何绘制带有斜条的条形图?
.
我需要绘制一个条形图,如下图所示。我可以在文本视图或某些布局上填充颜色来绘制普通条形图。但这有点不同。如何绘制带有斜条的条形图?
.
试试 Android 画布和自定义视图。您可以使用 View 的 onDraw 方法。该方法提供画布。您应该尝试 drawArc、drawLine 等。如果您的 bar 视图包含 textView,则必须使用自定义视图组。
在你的 onDraw of View 中做这样的事情。
RectF oval = new RectF();
Paint paint = new Paint();
paint.setColor(ContextCompat.getColor(context, R.color.color1));
paint.setStrokeWidth(widthOfArc);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.STROKE);
canvas.drawPath(path, yourPaint);
oval.set(x1,y1,x2,y2);
//eg:- startAngle = 10, sweepAngle = 40
canvas.drawArc(oval, startAngle, sweepAngle, false, paint);
请阅读有关 RectF 的工作原理。如果我找到任何相关的博客/教程,我会更新答案
计算开始和结束角度是纯数学参考这个 http://www.html5canvastutorials.com/tutorials/html5-canvas-arcs/
您必须更改颜色并继续绘制 Arc 才能获得结果。