내 응용 프로그램에서 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;
}
차트가 축소되는 방식을 이해할 수있는 스크린 샷을 게시하십시오. –
나는 이미 PC를 재부팅하여이 문제를 해결했습니다. 일반적으로 Android Studio와 java에는 몇 가지 문제가있었습니다. – shadovraven