2013-09-30 224 views
2

我需要繪製如下圖所示的條形圖。我能夠繪製一個普通的條形圖,在文本視圖或一些佈局上填充顏色。但是這有點不同。 如何繪製斜槓的條形圖?如何在Android上繪製條形圖

Enter image description here

+0

我想你應該創建自己的CustomView – agamov

+0

看看這個庫作爲出發點:https://github.com/jjoe64/GraphView – agamov

+0

不,我從來沒有使用任何3方lib。我真的不知道如何曲線或傾斜條形圖。 – RAAAAM

回答

1

嘗試Android畫布和自定義視圖。你可以使用View的onDraw方法。該方法提供畫布。您應該嘗試drawArc,drawLine等。如​​果您的欄視圖包含textView,則必須使用自定義視圖組。

+0

謝謝。你有沒有這方面的例子。 ? – RAAAAM

+0

不,我不想看到你的網站 - > http://developer.android.com/training/custom-views/index.html – nurisezgin

0

在你的onDraw視圖中做這樣的事情。

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/

你要改變顏色,並保持繪製弧形,以獲取結果。