一怜浅、描述
</br>
主要介紹一下這個(gè)庫(kù)的使用方法
二、環(huán)境配置
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
dependencies { compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'}
二、使用說(shuō)明
</br>
餅圖:
//設(shè)置對(duì)應(yīng)的數(shù)據(jù)和顏色值
initChart(new float[]{5f, 15f}, new Integer[]{Color.parseColor("#3BA6F5"), Color.parseColor("#AC804F")});
/**
* 描述:指定數(shù)據(jù)集合和顏色集合,顯示對(duì)應(yīng)的餅圖
* values : 多個(gè)占有的值,
* colors : 對(duì)應(yīng)值的顏色
* 作者:卜俊文
* 郵箱:344176791@qq.com
* 日期:17/1/8 下午5:21
*/
private void initChart(float[] values, Integer[] colors) {
mPieChart.setExtraOffsets(5, 10, 5, 5);
mPieChart.setUsePercentValues(false); //設(shè)置是否顯示百分比
//設(shè)置不顯示默認(rèn)右下角的文字
Description description = new Description();
description.setEnabled(false);
mPieChart.setDescription(description);
//設(shè)置中間是否空心
mPieChart.setDrawHoleEnabled(false);
// 設(shè)置滑動(dòng)減速摩擦系數(shù)
mPieChart.setDragDecelerationFrictionCoef(0.95f);
// 設(shè)置旋轉(zhuǎn)角度 窒升?侦香?
mPieChart.setRotationAngle(0);
mPieChart.setRotationEnabled(true);
mPieChart.setHighlightPerTapEnabled(true); //設(shè)置餅圖是否可點(diǎn)擊放大
//設(shè)置餅圖的數(shù)據(jù)脖卖,添加占1.0中多少的數(shù)值窗声,比如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));
}
//添加對(duì)應(yīng)的顏色值
List<Integer> colorSum = new ArrayList<>();
for (Integer color : colors) {
colorSum.add(color);
}
//設(shè)置數(shù)據(jù)
setData(data, colorSum);
// 設(shè)置動(dòng)畫(huà)
mPieChart.animateY(1400, Easing.EasingOption.EaseOutQuad);
// 關(guān)閉了對(duì)應(yīng)餅圖的顏色說(shuō)明
mPieChart.getLegend().setEnabled(false); //關(guān)閉默認(rèn)設(shè)置的顏色對(duì)應(yīng)圖形
}
public void setData(List<PieEntry> yVals1, List<Integer> colors) {
PieDataSet dataSet = new PieDataSet(yVals1, "Election Results");
// 設(shè)置餅圖區(qū)塊之間的距離
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"));//這里直接設(shè)置透明的顏色了
mPieChart.setData(data1);
// undo all highlights
mPieChart.highlightValues(null);
mPieChart.invalidate();
}
四咱筛、總結(jié)
如果項(xiàng)目有混淆的話(huà)搓幌,就加入下面這句話(huà),不然打包后沒(méi)有動(dòng)畫(huà)
-keep class com.github.mikephil.charting.** { *; } # 確保MPAndroidChart加載動(dòng)畫(huà)可用
歡迎關(guān)注我的微信公眾號(hào),分享更多技術(shù)文章迅箩。