之前的记账软件中,加入了GitHub上的开源项目,MPAndroid。
现在介绍一下饼状图。
首先将MPAndroidChart的jar包导入到libs中,jar包的链接可以去girhub下载,进去找不到的话把页面往下面拉拉,就有,网址如下:https://github.com/PhilJay/MPAndroidChart/releases
其中还需要nineoldandroids-2.4.0.jar这个jar包。
链接这里:http://download.youkuaiyun.com/detail/chase_java/9689747
导入以后就可以使用了。
建立一个布局文件,加入PieChart。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/check_income_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="收入"
android:gravity="center"
android:textSize="25sp" />
<com.github.mikephil.charting.charts.PieChart
android:padding="5dp"
android:id="@+id/piechart"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.github.mikephil.charting.charts.PieChart>
</LinearLayout>
下面是一个简单的演示:
public class MainActivity extends Activity {
private PieChart mChart;
private String[] x = new String[] { "A类事物", "B类事物", "C类事物" };
// 凑成100 % 100
private float[] y = { 10f, 60f, 30f };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mChart = (PieChart) findViewById(R.id.piechart);
// 图的描述
mChart.setDescription("在这里输入描述,右下角显示");
// 以3个对应数据集做测试
setData(x.length);
}
private void setData(int count) {
// 准备x"轴"数据:在i的位置,显示x[i]字符串
ArrayList<String> xVals = new ArrayList<String>();
// 真实的饼状图百分比分区。
// Entry包含两个重要数据内容:position和该position的数值。
ArrayList<Entry> yVals = new ArrayList<Entry>();
for (int xi = 0; xi < count; xi++) {
xVals.add(xi, x[xi]);
// y[i]代表在x轴的i位置真实的百分比占
yVals.add(new Entry(y[xi], xi));
}
PieDataSet yDataSet = new