本文要介绍的是一个参照手机支付宝app里面记账本功能里的“饼状图”实现的控件。通常app中可能的数据展示控件有柱状图,折线图,饼状图等,如果需要一个包含多种View控件的库,那么 MPAndroidChart 是不错的选择,如果只是需要一个简单的独立的饼状图控件,希望PieGraphView满足你的要求。

控件介绍

效果图如下:

目前实现的饼状图的效果如下所示,和支付宝app记账本中的功能基本一样:


Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训


控件功能:

  • 展示的数据
    可以展示多组数据(ItemGroup),每次展示一组数据,一组数据对应形成一个圆环。一组数据由多个Item组成,对应圆环中的扇形。

public static class ItemGroup {     public String id;     public Item[] items;
 } public static class Item {     public double value;     public int color;     public String id;
 }
  • 圆环
    一个ItemGroup最终显示为一个圆环。它的中的items是包含的数据项。这些数据项根据其value占总数据的比例对应不同的扇形角度。ItemGroup的所有Item依次绘制,形成360°。

  • 起始角度和旋转
    所有角度值是X正轴开始顺时针增加。圆环有一个开始角度使用字段mStartAngle表示,所有扇形的绘制是从mStartAngle开始的,它是0-360度的数值,例如可以设置为90让绘制从正下方开始等。圆环可以旋转,旋转是针对mStartAngle而言的。

  • 选中并高亮Item
    点击可以选择一个扇形,选中的扇形作为“当前项”,使用字段int mCurrentItem记录它的索引。选择一个扇形后,它会旋转其中间角度到mStartAngle的角度,然后对应扇形执行“grow”动画进行高亮突出。

  • 网友评论