HelloCharts demo附最新jar下载
最近在做一个项目接触到了Hellocarts开源图表库,现在把代码记一下,以防健忘症又犯。
XML控件引用
<lecho.lib.hellocharts.view.PieChartView
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
数据填入
private List<SliceValue> data = new ArrayList<SliceValue>();
SliceValue s1=new SliceValue();
s1.setLabel("收入"+bean.getIncome()+"元");
s1.setValue(Float.valueOf(bean.getIncome()));
s1.setColor(getResources().getColor(R.color.main_top));
data.add(s1);
setLabel()方法是用于在饼形图上显示的字符,必须设置pieChardata.setHasLabels(true),如果不这样做,饼形图上面没有字符显示。如果不使用这个方法,饼形图上显示的是setValue()中你加入的值
setValue()方法填入Float的数据 无须担心显示不全的问题 它会自动计算占有的比例。
setColor()设置这个数据在饼形图的区域背景色。
数据通过PieChartData .setValues()方法 填入PieChartView中。
点击事件
PieChartView.setOnValueTouchListener(new TouchListener());
class TouchListener implements PieChartOnValueSelectListener{
//点击某一区域之后 点击其它非数据区域的时候触发
public void onValueDeselected() {
Log.e("sss", "onValueDeselected");
}
//点击数据在饼形图的区域时触发
@Override
public void onValueSelected(int arg0, SliceValue arg1) {
}
}
[如下图,点击花销的时候触发onValueSelected
如下图点击非数据区域时触发onValueDeselected 但是事先必须先点击饼形数据区域
饼形图详细设置
PieChartData pieChardata = new PieChartData();
pieChardata.setHasLabels(false);// 是否显示表情
pieChardata.setHasLabelsOnlyForSelected(false);// 不用点击显示占的百分比
pieChardata.setHasLabelsOutside(false);// 占的百分比是否显示在饼图外面
pieChardata.setHasCenterCircle(true);// 是否是环形显示
pieChardata.setValues(data);
pieChardata.setCenterCircleColor(Color.WHITE);// 设置环形中间的颜色
pieChardata.setCenterCircleScale(0.5f);// 设置环形的大小级别
pieChardata.setCenterText1(bean.getId());// 环形中间的文字1
pieChardata.setCenterText1Color(Color.BLACK);// 文字颜色
pieChardata.setCenterText1FontSize(20);// 文字大小
pieChardata.setHasLabels(true);
pieChardata.setCenterText2(bean.getItems());
pieChardata.setCenterText2Color(Color.BLACK);
pieChardata.setCenterText2FontSize(18);
piecharview.setPieChartData(pieChardata);
piecharview.setValueSelectionEnabled(true);// 选择饼图某一块变大
piecharview.setAlpha(0.9f);// 设置透明度
piecharview.setCircleFillRatio(1f);// 设置饼图大小
附上官方项目地址:https://github.com/lecho/hellocharts-android
官方JAR下载地址:https://github.com/lecho/hellocharts-android/releases
下载里面的hellocharts-library-XXX.jar,复制到你项目的libs文件夹即可。