2014-09-02 2 views
0

내 응용 프로그램에서 achartengine을 사용하여 동적 막대 차트를 만듭니다. 가로 막 대형 차트는 시간 단위로 주간 작업 데이터를 표시하는 데 사용되며 가로로 스크롤 할 수 있습니다 (각 막 대형 차트는 화면 너비에 따라 자체보기가 있음). 저는 HorizontallallScrollView에 무한대 스크롤과 고정 (서로 뷰를 서로 바꿈으로써)이 가능한 막대 차트를 배치했습니다. 왼쪽이나 오른쪽으로 스크롤 할 때 막 대형 차트는 화면 밖으로 스크롤되지 않고 화면의 측면으로 축소됩니다 나머지보기. 나는이 동작을 제거하기 위해 내 차트의 렌더러에서 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; 
} 
+0

차트가 축소되는 방식을 이해할 수있는 스크린 샷을 게시하십시오. –

+0

나는 이미 PC를 재부팅하여이 문제를 해결했습니다. 일반적으로 Android Studio와 java에는 몇 가지 문제가있었습니다. – shadovraven

답변

0

그것이 PC가 작동 재부팅, 내가 만든 코드의 변경에 응답하지, 안드로이드 스튜디오와 자바에 문제의 일종이었다 나타납니다 : 여기 내 렌더러 설정입니다.

관련 문제