Android-EasyChart第二波饼图

前言

在忙过一点时间项目需求后,我胡汉三又回来了。首先谢谢你们对我以前作的仪表盘图表的喜欢(手动乖巧),虽然我作的仍是有不少不足,可是大家让我有动力继续去尝试写些其余图表。android

首先附上传送门:git

Github传送门,内有详细APIgithub

仪表盘控件仿芝麻信用canvas

而后来看看此次带了什么东西:api

如何使用

首先看下如何使用bash

首先在布局添加你须要的图表控件布局

<com.github.iron.chart.pie.PieView1
        android:id="@+id/pie1"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerHorizontal="true"/>
复制代码

而后给他设置数据,设置数据方法以下post

//设置数据 values:数据 name:名称 colors:颜色 anim:是否开启动画 (不设置颜色的话,颜色会随机)
setData(float[] values, boolean anim)
setData(float[] values, int[] colors, boolean anim)
setData(float[] values, String[] name, boolean anim)
setData(float[] values, String[] name, int[] color, boolean anim)
复制代码

若是有其余个性化的定制,能够查看目前的API是否知足需求或者本身去实现。动画

去实现吧

那如何实现一个属于本身的饼图,首先看一下在BasePieView中有什么方法须要咱们去实现的:ui

protected abstract void initView();

protected abstract void initPieRect(float radius);

protected abstract void drawPieArc(Canvas canvas, String value,String percent, String name, int color, float arcStartAngle, float sweepAngle);

protected abstract void drawTitle(Canvas canvas,String title,String totalValue);
    
复制代码

而后让对一个个方法进行解析,首先initView()和字面意思同样,就是进行数据和画笔初始化操做。

initPieRect(float radius) 初始化饼图的区域。

drawPieArc(Canvas canvas,String value, String percent, String name, int color, float arcStartAngle, float sweepAngle) 这个方法让咱们一个个参数的来看下,value也就是进行格式化后的数值,percent百分比,name名称,color颜色。能够根据本身需求绘制想要显示的数据。

drawTitle(Canvas canvas,String title,String totalValue) 绘制标题和总的数值,固然不想绘制的话能够忽略。

须要注意饼图控件的中心坐标为(0,0)

其实在BasePieView里已经处理了不少逻辑,像我在Style1的饼图中,除去初始化方面的代码,绘制相关代码就10句不到。

再扯下这个图表数据控件

其实在作这一块的时候,我在考虑是把他放在饼图控件里面仍是单独抽成一个控件好,到最后我仍是抽成了单独一个控件(虽然我如今也不肯定这样好很差),个人考虑是这样能够更方便进行位置或者显示相关配置。而这个控件我也提供了好比setColumnNumber(int number)来控制列数等。

相关文章
相关标签/搜索