하나의 scrollview에 여러 그래프를 표시해야하는 Android 애플리케이션을 개발 중입니다. 자, 저는 linechart를 scrollview에 표시 할 수있게되었고 스크롤을 잘 할 수 있습니다. 그러나 차트를 위 또는 아래로 이동하는 데는 문제가있는 것으로 보입니다. 패닝 (panning)은 더듬 거리며 아주 잘 보이지 않으며 실제로는 거의 사용되지 않습니다.스크롤 차트에서 Achartengine linechart 패닝
이제 renderer.setInScroll (true)을 설정했습니다. 다른 모든 것은 잘 작동하는 것처럼 보입니다 (수평으로 패닝). 나는 이것이 linechart의 터치 이벤트를 방해하는 scrollview와 관련이 있다고 생각하지만, 안드로이드로는 나 자신을 이해하기에는 너무 새롭다.
내가 봤
, 나는 유사한 문제에 대한이 오래된 주제를 발견 HorizontalScrollView within ScrollView Touch Handling하지만 Achart에 적용 할 수 없습니다 : https://groups.google.com/forum/?fromgroups#!topic/achartengine/j6BIrZ8fm4k 항목의 사람은 그가이 그것을 해결했다.다음은 테스트 차트의 관련 코드입니다. 그것은 (그것이 어떤 차이 만드는 경우에 조각에)에있는 ScrollView 안에있는 LinearLayout으로 설정됩니다 짧은
private XYMultipleSeriesDataset getDemoDataset() {
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
final int nr = 80;
Random r = new Random();
for (int i = 0; i < SERIES_NR; i++) {
XYSeries series = new XYSeries("Demo series " + (i + 1));
for (int k = 0; k < nr; k++) {
series.add(k, 20 + r.nextInt() % 100);
}
dataset.addSeries(series);
}
return dataset;
}
private XYMultipleSeriesRenderer getDemoRenderer() {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(12);
renderer.setChartTitleTextSize(12);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setPointSize(5f);
renderer.setMargins(new int[] { 20, 30, 15, 10 });
XYSeriesRenderer r = new XYSeriesRenderer();
r.setColor(Color.BLACK);
r.setPointStyle(PointStyle.POINT);
r.setFillBelowLine(false);
r.setFillPoints(true);
renderer.addSeriesRenderer(r);
renderer.setInScroll(true);
setChartSettings(renderer);
return renderer;
}
private void setChartSettings(XYMultipleSeriesRenderer renderer)
{
renderer.setChartTitle("Chart demo");
renderer.setXTitle("x values");
renderer.setYTitle("y values");
renderer.setApplyBackgroundColor(false);
renderer.setRange(new double[] {0,200,0,200});
renderer.setFitLegend(false);
renderer.setAxesColor(Color.BLACK);
renderer.setMarginsColor(Color.WHITE);
renderer.setLabelsColor(Color.BLACK);
renderer.setShowGrid(true);
renderer.setXAxisMin(0);
renderer.setXAxisMax(200);
renderer.setYAxisMin(0);
renderer.setZoomEnabled(false);
renderer.setYAxisMax(200);
}
...
rpmGraph = ChartFactory.getLineChartView(getActivity(), getDemoDataset(), getDemoRenderer());
LinearLayout layout = (LinearLayout) getActivity().findViewById(R.id.rpmGraph);
layout.addView(rpmGraph);
질문 내가 얻을 수있는 방법이다는 A있는 ScrollView에서 제대로 수직으로 작동하는 패닝? 당신이 vertcal 스크롤 뷰에 하나 개 이상의 차트를 넣을 경우
왜 스크롤뷰 내부에 있어야합니까? –
동일한 메뉴에 여러 개의 그래프를 표시하고 사용자가 스크롤하여 그래프를 볼 수 있도록해야합니다. – Tumetsu
여기 어떻게 스크롤 가능한 그래프를 그릴 수 있습니까? 어떤 생각이나 제안입니까? – CoDe