在启用setInScroll的情况下水平滚动时,条形图缩小了行为

时间:2014-09-02 11:11:04

标签: android charts achartengine horizontalscrollview

我在我的应用程序中使用achartengine创建动态条形图。条形图用于以小时显示每周工作数据,它们可以水平滚动(每个条形图都有自己的视图,屏幕宽度)。我已经在Horizo​​ntallScrollView中放置条形图,启用了无限滚动和粘贴(通过相互交换视图),当我向左或向右滚动时,条形图缩小到屏幕的一侧而不是滚动像其他观点一样在屏幕之外。我发现我应该在我的图表的渲染器上启用setInScroll以摆脱这种行为,但遗憾的是这不起作用(图表缩小,setInScroll设置为true)。我没有想法如何解决这个问题。这是我的渲染器设置:

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;
}

1 个答案:

答案 0 :(得分:0)

看来这是Android Studio和java的某种问题,没有响应我所做的代码中的任何更改,重启PC工作。