我能夠在7英寸平板模擬器中藉助Dan開發條形圖,並使其適合於此屏幕,我使用setXAxisMax()
和setXAxisMin()
。下面是圖I在該仿真器中獲得:AChartEngine條形圖的跨設備兼容性問題
但是,當我安裝了我的手機,不同的屏幕,它是這樣的:
肖像
景觀
這是我的代碼:
........................
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.setChartTitle("Submission Statistics");
// mRenderer.setXTitle("Verdict Code");
// mRenderer.setYTitle("No. of Submissions");
mRenderer.setAxesColor(Color.BLACK);
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.WHITE);
mRenderer.setMarginsColor(Color.WHITE);
mRenderer.setZoomEnabled(true);
// mRenderer.setBarSpacing(-0.5);
// mRenderer.setMargins(new int[] {20, 30, 15, 0});
// mRenderer.setShowLegend(false);
mRenderer.setAxisTitleTextSize(16);
mRenderer.setChartTitleTextSize(22);
mRenderer.setLabelsTextSize(15);
mRenderer.setLegendTextSize(15);
// mRenderer.addXTextLabel(1, "AC");
// mRenderer.addXTextLabel(2, "PE");
// mRenderer.addXTextLabel(3, "WA");
// mRenderer.addXTextLabel(4, "TL");
// mRenderer.addXTextLabel(5, "ML");
// mRenderer.addXTextLabel(6, "CE");
// mRenderer.addXTextLabel(7, "RE");
// mRenderer.addXTextLabel(8, "OT");
mRenderer.setBarWidth(80);
mRenderer.setXAxisMin(-6);
mRenderer.setXAxisMax(15);
mRenderer.setYAxisMax(311);
mRenderer.setYAxisMin(0);
mRenderer.setYLabelsAlign(Align.RIGHT);
mRenderer.setXLabelsColor(Color.BLACK);
mRenderer.setLabelsColor(Color.BLACK);
mRenderer.setYLabelsColor(0, Color.BLACK);
mRenderer.setXLabels(0);
mRenderer.setPanEnabled(true, false);
........................
我現在添加mRenderer.setPanEnabled(true, false);
,這樣我可以沿着僅移動x軸查看完整的圖。但用戶應該可以在屏幕上看到完整的圖表,而不管不同的設備。
如何使這個條形圖跨設備兼容,以便它不會在左側和右側切斷?
我也對這個結果感興趣,我最近一直在使用ACE。我一直在做的一件事,不確定它是否會對你有所幫助,只是得到圖形視圖而不是意圖。這樣,您就可以獲得圖表,然後將其放入線性佈局中,您可以爲其保留空間並自動適應分配的空間。我只用10英寸平板電腦做過這個,但不知道它在不同尺寸下的工作性能如何。 – user2483079
我也是通過圖形視圖來完成它,因爲我在片段中顯示它。嘗試使用不同的設備來確認,如果沒問題,請與我分享您的代碼:) –
不幸的是,這是我擁有的唯一設備,因此我無法在較小的設備上進行測試。不可能真的對這些人說話,但也許這就是不同之處,試着用一個簡單的線性佈局設置一個測試項目,然後在活動中以編程方式添加條形圖的圖形視圖,以查看它是否按照你想要的方式工作它到 – user2483079