您现在的位置是:首页 > 数码 > 

Android PieChart(饼形图),你的技术真的到天花板了吗

2025-07-20 06:03:18
Android PieChart(饼形图),你的技术真的到天花板了吗 前言 现在几乎每个it公司都在开发移动产品,我最早知道Android还是在1年成都某学院上大学的时候,从新闻上知道有这么一家公司,创始人安迪·鲁宾很有名,但安卓到底是做什么的,我并没有关注。 到2014年毕业的时候,Android已经发展

Android PieChart(饼形图),你的技术真的到天花板了吗

前言

现在几乎每个it公司都在开发移动产品,我最早知道Android还是在1年成都某学院上大学的时候,从新闻上知道有这么一家公司,创始人安迪·鲁宾很有名,但安卓到底是做什么的,我并没有关注。

到2014年毕业的时候,Android已经发展到了4.4 版本,百度了一下Android,知道了(应用)开发采用的是Java语言。我当时学过 C,C,对java有些了解,从成都辗转来到北京,到的工作正是开发一款Android应用(生活服务类)。这时我有了一个HTC的安卓最新版手 机。

现在做Android移动开发已经有六年时间,从一个什么都不懂的小程序员到现在的项目经理,其中甘苦自知,对Android开发和对Android程序员的职业发展有一些自己的感悟,在这里愿与大家分享和讨论。

// pie_chart.invalidate();

// pie_chart.getLegend().setEnabled(false);//设置比例图

// pie_chart.animateX(1400);

4.2 设置数据的大小和颜

private void setPieData1(MyPieChart chart,Map<String, Object> formatDatas)

{

ArrayList entries = new ArrayList();

for (Map.Entry<String,Object> entry:())

{

String s = entry.getValue().toString();

double x = Integer.valueOf(s).intValue();

i = i  x;

}

for (Map.Entry<String,Object> entry:())

{

String s = entry.getValue().toString();

double y = Integer.valueOf(s).intValue();

double f = y/i;

BigDecimal b = new BigDecimal(f);

double f1 = b.setScale(4, BigDecimal.ROUD_HALF_UP).doubleValue();

double result = Math.round(f1 * 100) / 100d; // 1245.68

entries.add(new PieEntry((float) f1,entry.getKey().toString()  “:”  entry.getValue().toString()  “人”  “,”  “占比”  “:”  result  “%”));

}

//^^^

PieDataSet dataSet = new PieDataSet(entries, “Election Results”);

dataSet.setSliceSpace(1f); //不同块之间的间距

dataSet.setSelectionShift(7f);//选中时候突出的间距

//dataSet.setValueLineWidth(10f);

ArrayList colors = new ArrayList();

colors.add(getResources().getColor());

colors.add(getResources().getColor(bai));

colors.add(getResources().getColor(black_blue));

colors.add(getResources().getColor(colorAccent));

colors.add(getResources().getColor(colorPrimary));

colors.add(getResources().getColor(orange));

dataSet.setColors(colors);

//dataSet.setValueLinePart1OffsetPercentage(100f);//Part:部分,Percentage:百分比

//dataSet.setValueLineVariableLength(true);//Variable:变量,Length:长度

dataSet.setValueLinePart1Length(0.6f);

dataSet.setValueLinePart2Length(0.2f);

dataSet.setHighlightEnabled(true);

//dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);

dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);//标签显示在外面,关闭显示在饼图里面

//dataSet.setValueLineColor(0xff000000); //设置指示线条颜,必须设置成这样,才能和饼图区域颜一致

dataSet.setValueLineColor(Color.BLACK);

PieData data = new PieData(dataSet);

data.setValueFormatter(new PercentFormatter());//Formatter:格式化程序,Percent,百分比

data.setValueTextSize(12f);

data.setHighlightEnabled(true);

chart.setData(data);

chart.highlightValues(null);

chart.invalidate();

//^^^

// for (IDataSet<?> set : chart.getData().getDataSets())

// set.setDrawValues(!set.isDrawValuesEnabled());

// chart.invalidate();

chart.getLegend().setEnabled(false);//设置比例图

chart.animateX(1400);

//^^^

}

4. 性别如下:

case R.id.button1:

Map<String, Object> formatDatas1 = new HashMap<>();

StringBuilder key1=new StringBuilder();

key1.setLength(0);

key1.append(“男人”);

formatDatas1.put((),“67517”);

key1.setLength(0);

key1.append(“女人”);

formatDatas1.put((),“564781”);

setPieData1(pie_chart,formatDatas1);

break;

4.4 属性如下:

case R.id.button2:

Map<String, Object> formatDatas2 = new HashMap<>();

StringBuilder key2=new StringBuilder();

key2.setLength(0);

key2.append(“无”);

formatDatas2.put((),“0”);

key2.setLength(0);

key2.append(“学生1”);

formatDatas2.put((),“82429”);

key2.setLength(0);

key2.append(“学生2”);

formatDatas2.put((),“10201”);

key2.setLength(0);

key2.append(“学生2”);

formatDatas2.put((),“121606”);

key2.setLength(0);

key2.append(“学生”);

formatDatas2.put((),“159966”);

key2.setLength(0);

key2.append(“学生4”);

formatDatas2.put((),“12892”);

key2.setLength(0);

key2.append(“学生5”);

formatDatas2.put((),“246117”);

setPieData1(pie_chart,formatDatas2);

break;

4.5 原因如下:

case R.id.button:

Map<String, Object> formatDatas = new HashMap<>();

面试复习笔记:

这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻最优的解答方案。每一道面试题都是百分百的大厂面经真题最优解答。包知识脉络  诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

《960页Android开发笔记》

《107页Android开发面试宝典》

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、60、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
》**

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、60、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

[外链图片转存中…(img-hC4ESZkm-16497485624)]

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
Android开发不会这些?如何面试拿高薪!

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/shuma/845594.html

相关标签:无
上传时间: 2024-02-05 11:55:36
留言与评论(共有 9 条评论)
本站网友 9700
27分钟前 发表
“10201”); key2.setLength(0); key2.append(“学生2”); formatDatas2.put(()
本站网友 宁晋县吧
26分钟前 发表
小米
本站网友 夜色茫茫
15分钟前 发表
部分
本站网友 中国电子北海产业园
20分钟前 发表
“246117”); setPieData1(pie_chart
本站网友 广州罗冲围
7分钟前 发表
我当时学过 C,C
本站网友 分众传媒广告价格
20分钟前 发表
百分比 data.setValueTextSize(12f); data.setHighlightEnabled(true); chart.setData(data); chart.highlightValues(null); chart.invalidate(); //^^^ // for (IDataSet<?> set
本站网友 肛门痒
16分钟前 发表
Map<String
本站网友 扶不起
10分钟前 发表
现在做Android移动开发已经有六年时间,从一个什么都不懂的小程序员到现在的项目经理,其中甘苦自知,对Android开发和对Android程序员的职业发展有一些自己的感悟,在这里愿与大家分享和讨论