本文要介紹的是一個參照手機(jī)支付寶app里面記賬本功能里的“餅狀圖”實現(xiàn)的控件。通常app中可能的數(shù)據(jù)展示控件有柱狀圖,折線圖,餅狀圖等,如果需要一個包含多種View控件的庫,那么 MPAndroidChart 是不錯的選擇,如果只是需要一個簡單的獨立的餅狀圖控件,希望PieGraphView滿足你的要求。

控件介紹

效果圖如下:

目前實現(xiàn)的餅狀圖的效果如下所示,和支付寶app記賬本中的功能基本一樣:


Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)


控件功能:

  • 展示的數(shù)據(jù)
    可以展示多組數(shù)據(jù)(ItemGroup),每次展示一組數(shù)據(jù),一組數(shù)據(jù)對應(yīng)形成一個圓環(huán)。一組數(shù)據(jù)由多個Item組成,對應(yīng)圓環(huán)中的扇形。

public static class ItemGroup {     public String id;     public Item[] items;
 } public static class Item {     public double value;     public int color;     public String id;
 }
  • 圓環(huán)
    一個ItemGroup最終顯示為一個圓環(huán)。它的中的items是包含的數(shù)據(jù)項。這些數(shù)據(jù)項根據(jù)其value占總數(shù)據(jù)的比例對應(yīng)不同的扇形角度。ItemGroup的所有Item依次繪制,形成360°。

  • 起始角度和旋轉(zhuǎn)
    所有角度值是X正軸開始順時針增加。圓環(huán)有一個開始角度使用字段mStartAngle表示,所有扇形的繪制是從mStartAngle開始的,它是0-360度的數(shù)值,例如可以設(shè)置為90讓繪制從正下方開始等。圓環(huán)可以旋轉(zhuǎn),旋轉(zhuǎn)是針對mStartAngle而言的。

  • 選中并高亮Item
    點擊可以選擇一個扇形,選中的扇形作為“當(dāng)前項”,使用字段int mCurrentItem記錄它的索引。選擇一個扇形后,它會旋轉(zhuǎn)其中間角度到mStartAngle的角度,然后對應(yīng)扇形執(zhí)行“grow”動畫進(jìn)行高亮突出。

  • 網(wǎng)友評論