我正在开发一个Android应用程序,我必须在一个滚动显示中显示多个图。现在,我得到了线条图显示在滚动视图上,我可以很好地滚动它们。但是,平移图表似乎存在问题。平移口吃和变得非常生涩,在实践中几乎无法使用。Achartengine线图滚动滚动查看
现在,我已经设置了renderer.setInScroll(true);和其他一切似乎工作正常(水平平移)。我认为这与滚动视图干扰线图的触摸事件有关,但我仍然对Android自己太新了。
当我用Google搜索,我发现关于类似的问题这个老话题: https://groups.google.com/forum/?fromgroups#!topic/achartengine/j6BIrZ8fm4k该负责人专题说,他这个解决它:HorizontalScrollView within ScrollView Touch Handling但我无法将其应用到Achart。
这是我的测试线图的相关代码。它被设置成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);
的问题是我怎么能拿平移,以在适当的滚动视图垂直工作?
为什么它必须在scrollview中? –
因为我必须在同一个菜单中显示多个图形,并让用户向下滚动以查看它们。 – Tumetsu
如何在此处绘制可滚动图形...任何想法/建议? – CoDe