我想以编程方式绘制一些东西,将其设置为ImageView
的背景。它应该是这样的:
所以它有点像饼图,但它不是饼图。
我找到了一些画圆圈的东西:
ShapeDrawable biggerCircle= new ShapeDrawable( new OvalShape());
biggerCircle.setIntrinsicHeight( 60 );
biggerCircle.setIntrinsicWidth( 60);
biggerCircle.setBounds(new Rect(0, 0, 60, 60));
biggerCircle.getPaint().setColor(Color.BLUE);
ShapeDrawable smallerCircle= new ShapeDrawable( new OvalShape());
smallerCircle.setIntrinsicHeight( 10 );
smallerCircle.setIntrinsicWidth( 10);
smallerCircle.setBounds(new Rect(0, 0, 10, 10));
smallerCircle.getPaint().setColor(Color.BLACK);
smallerCircle.setPadding(50,50,50,50);
Drawable[] d = {smallerCircle,biggerCircle};
LayerDrawable composite1 = new LayerDrawable(d);
btn.setBackgroundDrawable(composite1);
我需要的是使用起始度和结束度来绘制彩色区域。
这样的事情可能吗?
答案 0 :(得分:3)
您可以使用库https://github.com/PhilJay/MPAndroidChart来实现此目的。
在xml中添加以下内容:
<com.github.mikephil.charting.charts.PieChart
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在java代码中:
PieChart chart = (Piechart) findViewById(R.id.chart);
示例代码:
这就是使用它的方式。