Android图表应用分享
16lz
2021-01-23
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轴的数据集,图表的数据集,图例,文字,图表的数据集
更多相关文章
- [置顶] android 批量插入数据
- Android Studio真机调试,数据库sqllite时,Multiple dex files defi
- JAVA数据结构及算法--Android中Activity的四种启动模式
- UnityAndroid开发(1) 打包和使用Sqlite数据库
- Android—Room数据库多表查询(Relationships)
- No 97 · 在Android中查看和管理sqlite数据库
- Android中EditText输入框焦点从文字前面变成文字后面