安卓自己简单实现饼状图

前言

网上有很多饼状图的控件,这里就只是简单实现一下,没有太多功能,代码量很少

正文

先把效果图亮出来给大家看一下,就只是一个非常简单的饼状图.

安卓自己简单实现饼状图_第1张图片
my_view.gif

这里主要是在 onDraw(Canvas canvas)方法里面用了 canvas.drawArc方法用来画弧形
关键代码如下

RectF rectF = new RectF(0, 0, circleWidth, circleWidth);
        canvas.drawArc(rectF, -90, 360, true, mPaint2);
  • 这里是用来了一个rectF来构建矩形,然后才是画弧形,那么这个矩形到底是什么呢?
    这里的弧形是矩形的内切圆,就是你矩形多大,那么你的矩形沿着边界的内切圆就是弧形360的呈现
首先,这里有四个参数
  • 第一个参数是left,就是矩形距左的距离
  • 第二个参数是top,同上,就是矩形距上的距离
  • 第三个参数是right,right-left=矩形的宽度
  • 第四个参数是bottom,bottom-top=矩形的高度
    当我们设置RectF为RectF rectF = new RectF(0, 0, 200, 200);时,那么我们显示的效果是如下这样
    安卓自己简单实现饼状图_第2张图片
    image.png

    而我们的内切圆,效果如下
    安卓自己简单实现饼状图_第3张图片
    image.png

    这个图片就是当我们的弧形设置成为360度之后白边以内呈现的效果
那我们再看canvas.drawArc(rectF, -90, 360, true, mPaint2);方法,这就是画弧形的方法,这里有五个参数,五个参数的具体含义如下
  • 第一个参数就是上面设置的那个矩形
  • 第二个参数是弧形的起始角度,当我们设置为-90度的时候,下图红色部分就是起始角度


    安卓自己简单实现饼状图_第4张图片
    image.png
  • 第三个参数就是当前的角度,当设置成360度的时候就是一个圆
  • 第四个参数是是否以圆心为中心点,
  • 第五个参数是画笔

所有代码都已经在github上面,代码地址https://github.com/su3356859/My_Pie_Chart

你可能感兴趣的:(安卓自己简单实现饼状图)