一、描述
</br>
主要介紹一下這個庫的使用方法
二、環境配置
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
dependencies { compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'}
二、使用說明
</br>
餅圖:
//設置對應的數據和顏色值
initChart(new float[]{5f, 15f}, new Integer[]{Color.parseColor("#3BA6F5"), Color.parseColor("#AC804F")});
/**
* 描述:指定數據集合和顏色集合,顯示對應的餅圖
* values : 多個占有的值,
* colors : 對應值的顏色
* 作者:卜俊文
* 郵箱:344176791@qq.com
* 日期:17/1/8 下午5:21
*/
private void initChart(float[] values, Integer[] colors) {
mPieChart.setExtraOffsets(5, 10, 5, 5);
mPieChart.setUsePercentValues(false); //設置是否顯示百分比
//設置不顯示默認右下角的文字
Description description = new Description();
description.setEnabled(false);
mPieChart.setDescription(description);
//設置中間是否空心
mPieChart.setDrawHoleEnabled(false);
// 設置滑動減速摩擦系數
mPieChart.setDragDecelerationFrictionCoef(0.95f);
// 設置旋轉角度 ??
mPieChart.setRotationAngle(0);
mPieChart.setRotationEnabled(true);
mPieChart.setHighlightPerTapEnabled(true); //設置餅圖是否可點擊放大
//設置餅圖的數據,添加占1.0中多少的數值,比如1,就傳入0.5f
List<PieEntry> data = new ArrayList<>();
float sum = 0;
for (float value : values) {
sum += value;
}
for (float value : values) {
data.add(new PieEntry(value / sum));
}
//添加對應的顏色值
List<Integer> colorSum = new ArrayList<>();
for (Integer color : colors) {
colorSum.add(color);
}
//設置數據
setData(data, colorSum);
// 設置動畫
mPieChart.animateY(1400, Easing.EasingOption.EaseOutQuad);
// 關閉了對應餅圖的顏色說明
mPieChart.getLegend().setEnabled(false); //關閉默認設置的顏色對應圖形
}
public void setData(List<PieEntry> yVals1, List<Integer> colors) {
PieDataSet dataSet = new PieDataSet(yVals1, "Election Results");
// 設置餅圖區塊之間的距離
dataSet.setSliceSpace(2f);
dataSet.setSelectionShift(5f);
// 添加顏色
dataSet.setColors(colors);
PieData data1 = new PieData(dataSet);
data1.setValueFormatter(new PercentFormatter());
data1.setValueTextSize(10f);
data1.setValueTextColor(Color.parseColor("#00000000"));//這里直接設置透明的顏色了
mPieChart.setData(data1);
// undo all highlights
mPieChart.highlightValues(null);
mPieChart.invalidate();
}
四、總結
如果項目有混淆的話,就加入下面這句話,不然打包后沒有動畫
-keep class com.github.mikephil.charting.** { *; } # 確保MPAndroidChart加載動畫可用
歡迎關注我的微信公眾號,分享更多技術文章。