Android图表应用分享

导读: 之前做app时就有图表开发的任务,这次做海通项目也有个饼图,所以分享下。


需要哪些准备

在gradle下引用

repositories {maven { url “https://jitpack.io” }}dependencies {compile ‘com.github.PhilJay:MPAndroidChart:v2.1.6’}

代码讲解

界面xml端

<com.github.mikephil.charting.charts.PieChart                        android:id="@+id/piechart"                        android:layout_width="600px"                        android:layout_height="300px"                        android:layout_centerHorizontal="true"/>

后台java端(解释加在注释里了)
X轴,Y轴

        ArrayList yVals = new ArrayList<>(); //值坐标        ArrayList xVals = new ArrayList<>();//对应的Lable,可以理解成X轴        for (int i = 0; i < 6; i++) {            xVals.add("");            yVals.add(new BarEntry(listSize.get(i), i));        }

数据集

        PieDataSet pieDataSet = new PieDataSet(yVals, "资产总数");//创建饼图的一个数据集

饼图每个模块的颜色

        int[] COLORFUL_COLORS = {                ContextCompat.getColor(getActivity(), R.color.colorChartBlue), ContextCompat.getColor(getActivity(), R.color.colorChartYellow),                ContextCompat.getColor(getActivity(), R.color.colorChartBlue_1), ContextCompat.getColor(getActivity(), R.color.colorChartPurple),                ContextCompat.getColor(getActivity(), R.color.colorChartRed), ContextCompat.getColor(getActivity(), R.color.colorChartGray)};        pieDataSet.setColors(COLORFUL_COLORS); //设置成丰富多彩的颜色

点击饼图部分时动画

        pieDataSet.setSelectionShift(0);//点击后延伸出来的长度

把x轴y轴数据填充到饼图

        PieData piedata = new PieData(xVals, pieDataSet);//生成PieData        piedata.setDrawValues(false);        piechart.setData(piedata);//给PieChart填充数据

设置图标图例(这边不需要图例所以false)

        piechart.getLegend().setEnabled(false);

设置相关文字

        piechart.setCenterText("资产总数");//中间写的文字        piechart.setCenterTextColor(ContextCompat.getColor(getActivity(), R.color.tv_333));//设置中间文字的颜色        piechart.setCenterTextRadiusPercent(0.5f);//设置文字显示的角度,180横着,默认是竖着        piechart.setCenterTextSize(12f);//设置中心文字的字体大小        piechart.setCenterTextTypeface(null);//设置字体        piechart.setDrawCenterText(true);//中心字使能开关,false时中间无法显示文字        piechart.setDrawHoleEnabled(true);//基本同上        piechart.setHoleColor(ContextCompat.getColor(getActivity(), R.color.colorWhite));        piechart.setHoleRadius(60f);        piechart.setDescription("");//设置描述文字

加载时的动画

        piechart.animateXY(1000, 1000);

小结

通过饼图可以知道其他的柱状图,折线图等,大同小异
主要抓住X轴的数据集,Y轴的数据集,图表的数据集,图例,文字,图表的数据集

更多相关文章

  1. [置顶] android 批量插入数据
  2. Android Studio真机调试,数据库sqllite时,Multiple dex files defi
  3. JAVA数据结构及算法--Android中Activity的四种启动模式
  4. UnityAndroid开发(1) 打包和使用Sqlite数据库
  5. Android—Room数据库多表查询(Relationships)
  6. No 97 · 在Android中查看和管理sqlite数据库
  7. Android中EditText输入框焦点从文字前面变成文字后面

随机推荐

  1. PHP中CakePHP添加数据库实例方法
  2. PHP中强制类型转换的示例详解
  3. php中rsort函数实例用法
  4. 初学者怎么画出眼睛?板绘眼睛的步骤
  5. php语法技巧代码实例
  6. json,XHR,FetchAPI,async,await
  7. PHP方法的返回值示例详解
  8. nginx配置location方法总结
  9. 详解Nginx location 匹配规则
  10. 浅谈Spring 重定向指南