在優化精簡版鋼板管理系統中的儀表盤時,用到了一個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。