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

前言

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

到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 formatDatas)

{

ArrayList entries = new ArrayList();

for (Map.Entry entry:formatDatas.entrySet())

{

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

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

i = i + x;

}

for (Map.Entry entry:formatDatas.entrySet())

{

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.ROUND_HALF_UP).doubleValue();

double result = Math.round(f1 * 100) / 100d; // 12345.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(R.color.mintcream));

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

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

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

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

colors.add(getResources().getColor(R.color.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.3 性别如下:

case R.id.button1:

Map formatDatas1 = new HashMap<>();

StringBuilder key1=new StringBuilder();

key1.setLength(0);

key1.append(“男人”);

formatDatas1.put(key1.toString(),“675137”);

key1.setLength(0);

key1.append(“女人”);

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

setPieData1(pie_chart,formatDatas1);

break;

Android PieChart(饼形图),你的技术真的到天花板了吗_第1张图片

4.4 属性如下:

case R.id.button2:

Map formatDatas2 = new HashMap<>();

StringBuilder key2=new StringBuilder();

key2.setLength(0);

key2.append(“无”);

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

key2.setLength(0);

key2.append(“学生1”);

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

key2.setLength(0);

key2.append(“学生2”);

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

key2.setLength(0);

key2.append(“学生2”);

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

key2.setLength(0);

key2.append(“学生3”);

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

key2.setLength(0);

key2.append(“学生4”);

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

key2.setLength(0);

key2.append(“学生5”);

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

setPieData1(pie_chart,formatDatas2);

break;

Android PieChart(饼形图),你的技术真的到天花板了吗_第2张图片

4.5 原因如下:

case R.id.button3:

Map formatDatas3 = new HashMap<>();

面试复习笔记:

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

《960页Android开发笔记》

Android PieChart(饼形图),你的技术真的到天花板了吗_第3张图片

《1307页Android开发面试宝典》

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

Android PieChart(饼形图),你的技术真的到天花板了吗_第4张图片

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

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

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

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

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

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

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

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

你可能感兴趣的:(Android,经验分享,面试)