Android上实现柱状图算法实现
第一步:获取Android设备的屏幕大小
在View中获取Android设备屏幕大小的方法为:
WindowManager wm = (WindowManager) this.getcontext().getSystemService(context.WINDOW_SERVIcE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth();
在Activity中获取Android设备屏幕大小的方法为:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;
第二步:在View对象中使用canvas绘制蓝色边框与白色背景XY轴两条线
第三步:绘制柱状图标题
第四步:根据数据集计算出每个系列数据所占X轴的大小,来绘制X 数据名称
计算X轴中每个系列所占大小的代码为:
int count = series.getSeriescount();
int xUnit = (width - 2 - xOffset)/count;
第五步:根据数据集计算出数据单元大小,并将数据单元映射为像素单元,绘制出标尺单位与背景虚线
第六步:根据数据集的值来计算出柱状图的高度,以及柱状图的宽度大小,映射为像素值以后完成绘制。
其中xOffset, yOffset值计算公式如下:
int xOffset = (int)(width * 0.1);
int yOffset = (int)(height * 0.1);
int xOffset = (int)(width * 0.1);
int yOffset = (int)(height * 0.1);
计算每个系类中,每个柱状图之间缝隙大小的为:
int barWidth = (int)(xUnit/Math.pow(itemList.size(),2));
int startPos = xOffset + 2 + xPadding + xUnit*i;
int interval = barWidth/2;
其中barWidth表示每个柱状矩形的宽度,interval表示同一数据系列中表示每个矩形之间的间隔。
本文详细介绍了在Android平台上实现柱状图算法的过程,包括获取屏幕大小、绘制蓝色边框与白色背景XY轴线、绘制柱状图标题、计算X轴数据、计算柱状图高度和宽度等关键步骤。
1970

被折叠的 条评论
为什么被折叠?



