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. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. Android(安卓)- Android(安卓)Studio 安装 及 设置
  4. Android(安卓)Auido(2)- AudioTrack to AudioFlinger
  5. Android(安卓)下使用 JSON 实现 HTTP 请求
  6. Android(安卓)基础总结:(十)ContentResolver
  7. Android(安卓)App开发基础篇—四大组件之ContentProvider
  8. Android之UI学习篇二:TextVeiw显示表情和跑马灯效果
  9. Android图形系统的分析与移植 -- 六、双缓冲framebuffer的实现

随机推荐

  1. Android三种定位方式
  2. Android(安卓)离线用户的灰色头像处理
  3. Android(安卓)AVD Manager无法识别真机,ad
  4. android xml中?和 @
  5. android 系统启动
  6. Android应用程序消息处理机制(Looper、Han
  7. android 中SoundPool总结
  8. Android(安卓)实用工具Hierarchy Viewer
  9. android打开系统联系人界面
  10. Android(安卓)安装环境搭建