文章目录
前言
如下图这样的一个饼图效果,看上去很简单,不如让我们用Android自定义控件的知识来实现它
一、创建PieChartView继承View类?
public class PieChartView extends View
二、创建一些对象,用于绘图
private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
private final float RADIUS = HenUtil.dp2px(100);//饼图的半径
private final int[] colors = new int[]{
Color.BLUE, Color.CYAN, Color.RED, Color.BLACK};//四个饼图的颜色
private final int[] degrees = new int[]{
60, 150, 90, 60};//四个饼图的角度,总和为360°
private final float OFFSET = HenUtil.dp2px(6);//被抽出来的那个饼图偏出的位移
三,onDraw方法
代码如下:
@Override
protected void onDraw(Canvas canvas) {
int startAngle = 0;
for (int i = 0; i < 4; i++) {
paint.setColor(colors[i]);
float baseX, baseY;
if (i == 2) {
baseX = (float) (getWidth() / 2f + OFFSET * Math.cos