在很多android开发中都要用于图表,下面特别讲一下饼形图的用法。效果如下:

第一步:从网上下载MPChartlib.jar;

第二步:在布局文件abc.xml中引入饼形图:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/white"><com.github.mikephil.charting.charts.PieChartandroid:id="@+id/controll_pie"android:layout_width="200dip"android:layout_height="200dip"android:layout_alignParentRight="true"android:layout_alignParentTop="true"android:layout_marginRight="10dip"android:layout_marginTop="10dip" />
</RelativeLayout>

第三步:在程序中使用:

PieChart  pieChart = (PieChart) itemView.findViewById(R.id.controll_pie);
private void createPie(){pieChart.setCenterText("当月己完成事务\n30");// configure pie chartpieChart.setUsePercentValues(true);pieChart.setDescription("");// enable hole and configurepieChart.setDrawHoleEnabled(true);pieChart.setHoleColorTransparent(true);pieChart.setHoleRadius(60);pieChart.setTransparentCircleRadius(10);// enable rotation of the chart by touchpieChart.setRotationAngle(0);pieChart.setRotationEnabled(true);// set a chart value selected listenerpieChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {@Overridepublic void onValueSelected(Entry e, int dataSetIndex, Highlight h) {// display msg when value selectedif (e == null)return;Toast.makeText(activity,xData[e.getXIndex()] + " = " + e.getVal() + "%", Toast.LENGTH_SHORT).show();}@Overridepublic void onNothingSelected() {}});addData();}private void addData(){ArrayList<Entry> yVals1 = new ArrayList<Entry>();for (int i = 0; i < yData.length; i++)yVals1.add(new Entry(yData[i], i));ArrayList<String> xVals = new ArrayList<String>();for (int i = 0; i < xData.length; i++)xVals.add("");// create pie data setPieDataSet dataSet = new PieDataSet(yVals1, "");dataSet.setSliceSpace(3);dataSet.setSelectionShift(4);// add many colorsArrayList<Integer> colors = new ArrayList<Integer>();/*for (int c : ColorTemplate.VORDIPLOM_COLORS)colors.add(c);for (int c : ColorTemplate.PASTEL_COLORS)colors.add(c);for (int c : ColorTemplate.COLORFUL_COLORS)colors.add(c);for (int c : ColorTemplate.LIBERTY_COLORS)colors.add(c);for (int c : ColorTemplate.JOYFUL_COLORS)colors.add(c);colors.add(ColorTemplate.getHoloBlue());*/colors.add(activity.getResources().getColor(R.color.msg_color));colors.add(activity.getResources().getColor(R.color.traning_color));colors.add(activity.getResources().getColor(R.color.appro_color));colors.add(activity.getResources().getColor(R.color.trans_color));dataSet.setColors(colors);// instantiate pie data object nowPieData data = new PieData(xVals, dataSet);data.setValueFormatter(new PercentFormatter());data.setValueTextSize(11f);data.setValueTextColor(Color.GRAY);pieChart.setData(data);// undo all highlightspieChart.highlightValues(null);// update pie chartpieChart.invalidate();}

根据自己的要求,定义相应的数值和颜色。

android中使用饼形图相关推荐

  1. Android中实现为TextView添加多个可点击的文本

    这篇文章主要介绍了Android中实现为TextView添加多个可点击的文本,可实现类似Android社交软件显示点赞用户并通过用户名称进入该用户主页的功能,是非常实用的技巧,需要的朋友可以参考下.具 ...

  2. android 弹出fragment,Android中ViewPager获取当前显示的Fragment

    前言 在项目中,有时会用到在ViewPager中显示同样类型的Fragment,同时这样的Fragment的个数是动态的,但是PagerAdapter没有给我们提供getCurrentFragment ...

  3. android 读取内部存储文件格式,Android中的数据储存之文件存储

    当我们在使用各种程序时,其实际上是在和各种数据打交道,当我们聊QQ,刷微博,看新闻,其实都是在和里面的数据交互 例如在聊天时发出的消息,以及在登录时输入的账号密码,其实都是瞬时数据,那什么是瞬时数据呢 ...

  4. android中一种不支持的lua操作

    今天写了一段lua代码,在win32中正常运行,在android中运行无效. 大概是这样的: ------file1.lua----- local t = {} t.str = "this ...

  5. Android中对Log日志文件的分析[转]

    一,Bug出现了, 需要"干掉"它 bug一听挺吓人的,但是只要你懂了,android里的bug是很好解决的,因为android里提供了LOG机制,具体的底层代码,以后在来分析,只 ...

  6. 在Android中进行单元测试遇到的问题

    问题1.Cannot connect to VM  socket closed 在使用JUnit进行测试的时候,遇到这个问题.网上的解释是:使用Eclipse对Java代码进行调试,无论是远程JVM还 ...

  7. android中设置控件获得焦点 (转)

    android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例:                 btn.setFocusable(true);      ...

  8. Android中怎么使图片显示

    android中经常到利用图片,利用图片时我们都是把图片放在drawable-xxx目录下,因为这里就是存储图片的地方,xxx不用理他,就是关于分辨率而已. 楼主在学习android的时候一直尝试把图 ...

  9. Android中处理崩溃异常

    2019独角兽企业重金招聘Python工程师标准>>> 大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象 ...

最新文章

  1. Java JSON、XML文件/字符串与Bean对象互转解析
  2. php练习 租房子
  3. get_metrology_object_measures获取测量区域和计量模型的计量对象的边缘位置结果
  4. ros下的python代码的编写与回调函数
  5. 10kv配电网潮流 matlab,关于用matlab计算配电网三相潮流计算,请大家帮忙检验下!...
  6. 欧洲与北美5G开战,最后的赢家却是高通?
  7. Java 中文乱码问题
  8. java 通过类名创建类,通过类名动态生成对象
  9. java 正则表达式提取字符串
  10. excel 基础知识 入门
  11. 公网远程Everything快速搜索私有云资料【内网穿透】
  12. JS 进阶 (六) 浏览器事件模型DOM操作
  13. RxJS + Redux + React = Amazing!(译二)
  14. tc ebpf sample - tethering offload on linux pc
  15. 如何将revit的内建模型导出使用?项目族管理功能介绍
  16. oracle性能优化简介
  17. 如何轻松搭建一个在线wiki文档平台?
  18. 零信任策略下K8s安全监控最佳实践(K+)
  19. Lunch Time
  20. 彩色星球科技冠名著名钢琴艺术家吴牧野世界巡演《肖邦圆舞曲全集》长沙站演出...

热门文章

  1. HBase MOB特性介绍
  2. Ae:导入 Photoshop 文件
  3. 任务调度的合理性 (25 分)
  4. java jzip_JAVA UI 实现ZIP的压缩与解压缩
  5. 小程序遵循的语法_2020年遵循的最佳应用程序开发实践
  6. iOS 导入自定义字体不生效
  7. LINUX 下无线网卡 rtl8821CE/rtl8723de 驱动 无法驱动解决办法
  8. Nginx基础应用配置小结 - 运维笔记
  9. 图片文件,图片文件流和BASE64加密字符串之间的转换,以及图片的BASE64加密字符串再jsp上如何显示
  10. 揭开深度跟踪的力量--Unveiling the Power of Deep Tracking (ECCV2018)