在优化精简版钢板管理系统中的仪表盘时,用到了一个achartengine-1.1.0.jar这个工具包。achartengine-1.1.0.jar 用于在android上绘制曲线图和趋势图 它功能强大,支持散点图、折线图、饼图、气泡图、柱状图、短棒图、仪表图等多种图表,我便只是浅显的使用了一下自制仪表盘。在此,我把代码贴上,其中一些代码给予了注释。
public GraphicalView getDialView (double value){
DialRenderer renderer=new DialRenderer();
//构建数据集以及渲染
CategorySeries dataset = new CategorySeries(getString(R.string.user));
//添加值
dataset.add(value);
//设置起始角度和终止角度
renderer.setAnglemax(60);
renderer.setAnglemin(300);
//设置最小值和最大值
renderer.setMinValue(0);
renderer.setMaxValue(100);
//设置两个坐标值之间的值
renderer.setMajorTicksSpacing(10);
XYSeriesRenderer xyRenderer=new XYSeriesRenderer ();
xyRenderer.setPointStyle(PointStyle.CIRCLE);
xyRenderer.setChartValuesTextAlign(Align.CENTER);
//将绘制的点添加到坐标绘制中
renderer.addSeriesRenderer(xyRenderer);
//设置图例颜色,包括坐标值和Title的颜色
renderer.addSeriesRenderer(xyRenderer);
//设置图例距离仪表盘的距离,负数在下方
renderer.setLegendHeight(-10);
//设置图例字体的大小和坐标值字体的大小
renderer.setLablesTextSize(getResources().getDimension(R.dimen.textsize_5));
//允许设置背景颜色
renderer.setApplyBackgroundColor(true);
//设置背景颜色
renderer.setBackgroundColor(getResources().getColor(R.color.red));
//设置Title
renderer.setChartTitle(“NJXS”);
//设置Title字体大小
rendererd.setCharTitleTextSize(getResources().getDimension(R.dimen.textsize_1));
//初始化仪表盘大小
renderer.setScale(0.5F);
//设置仪表盘是否能拖动。False:不能拖动
renderer.setPanEnabled(true);
renderer.setDisplayValues(true);
//放大缩小按钮是否可见
renderer.setZoomButtonVisible(true);
//一次放大或缩小倍数
renderer.setZoomRate(1.1F);
GraphicalView mChartView=ChartFactory.getDialChartView(getApplicationContext(),dataset,renderer);
Return mChartView;
}
这些只是简单的设置仪表盘的一些参数,如果我们想更好的美化仪表盘,可以继承DialChart.class这个类,对立面的一些方法进行重写,然后通过继承ChartFactory.class这个类,重写getDialChartView(...)这个方法便可以得到你想要的View。