2

我需要绘制一个条形图,如下图所示。我可以在文本视图或某些布局上填充颜色来绘制普通条形图。但这有点不同。如何绘制带有斜条的条形图?

在此处输入图像描述.

4

2 回答 2

1

试试 Android 画布和自定义视图。您可以使用 View 的 onDraw 方法。该方法提供画布。您应该尝试 drawArc、drawLine 等。如果您的 bar 视图包含 textView,则必须使用自定义视图组。

于 2013-09-30T14:06:58.937 回答
0

在你的 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 才能获得结果。

于 2017-04-21T11:40:32.617 回答