0
我在我的应用程序中使用achartengine创建动态条形图。条形图用于以小时显示每周工作数据,并且它们可以水平滚动(每个条形图都有自己的视图,并具有屏幕宽度)。我已经在HorizontallScrollView中放置了条形图,无限滚动并启用了粘贴(通过互换视图),并且当我向左或向右滚动时,条形图缩小到屏幕一侧而不是滚动到屏幕外像其余的意见。我发现我应该在我的图表的渲染器上启用setInScroll来摆脱这种行为,但遗憾的是这不起作用(图表缩小,setInScroll设置为true)。我不知道如何解决这个问题。这是我的渲染器设置:使用setInScroll启用水平滚动条形图缩小行为
private static XYMultipleSeriesRenderer getRenderer(List<Integer> list, int[] weekdays)
{
float maxValue = 0;
for (Integer value : list){
if (value > maxValue){
maxValue = value;
}
}
NumberFormat formatter = new DecimalFormat("#' h'");
formatter.setMaximumFractionDigits(0);
maxValue = maxValue/60;
maxValue = maxValue + (float)(maxValue*0.2);
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
XYSeriesRenderer seriesRenderer = new XYSeriesRenderer();
seriesRenderer.setColor(mContext.getResources().getColor(R.color.ActionBarBlue));
seriesRenderer.setChartValuesFormat(formatter);
seriesRenderer.setFillPoints(true);
seriesRenderer.setLineWidth(2);
seriesRenderer.setDisplayChartValues(true);
seriesRenderer.setChartValuesTextSize(12);
seriesRenderer.setChartValuesTextAlign(Paint.Align.RIGHT);
renderer.addSeriesRenderer(seriesRenderer);
for (int i=0; i < 7; i++){
renderer.addXTextLabel(i+1, mDays[i] + " " + weekdays[i]);
}
renderer.setBackgroundColor(mContext.getResources().getColor((R.color.White)));
renderer.setApplyBackgroundColor(true);
renderer.setPanEnabled(false);
renderer.setInScroll(true);
renderer.setMargins(new int[] {0, 0, 0, 0});
renderer.setAntialiasing(true);
renderer.setMarginsColor(mContext.getResources().getColor(R.color.White));
renderer.setShowLegend(false);
renderer.setXAxisMin(0.5);
renderer.setXAxisMax(7.5);
renderer.setYAxisMin(0);
renderer.setYAxisMax(maxValue);
renderer.setBarSpacing(0.5);
renderer.setShowGrid(true);
renderer.setGridColor(mContext.getResources().getColor(R.color.Gray));
renderer.setXLabelsColor(mContext.getResources().getColor((R.color.Black)));
renderer.setYLabelsColor(0, mContext.getResources().getColor((R.color.White)));
renderer.setLabelsTextSize(12);
renderer.setXLabels(0);
renderer.setYLabels(0);
return renderer;
}
请张贴截图,例如我们可以了解图表是如何缩小的。 – 2014-09-04 11:39:06
我已经通过简单地重新启动我的电脑来解决这个问题。一般来说,Android Studio和java存在一些问题。 – shadovraven 2014-09-10 09:27:22