我需要绘制一个条形图,如下图所示。我可以绘制一个普通的条形图,在文本视图或一些布局上填充颜色。但这有点不同。 如何使用斜条绘制条形图?
答案 0 :(得分:1)
尝试Android画布和自定义视图。您可以使用View的onDraw方法。该方法提供了画布。您应该尝试drawArc,drawLine等。如果您的栏视图包含textView,您必须使用自定义视图组。
答案 1 :(得分: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以获得结果。