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)來控制列數等。

相關文章
相關標籤/搜索