Android AChartEngine graphicView共享事件

时间:2013-06-01 02:24:08

标签: android callback scroll listener achartengine

首先,我在下面给出我的观看节目。并给出一些解释:enter image description here

在我的ViewGroup中,我有两个GraphicalView,每个都共享相同的大小空间。我们只需将图表上方的图表调用一个图表B。

然后我有一些问题:

  1. 如果我在图表A上移动一个动作,我怎么能让图表B移动就像我的手指在图表B上移动一样?
  2. 如果我捏图表A还可以图表B更改自动吗?
  3. 我想为某些点添加一些回调函数? ACE支持吗?
  4. 我不想在用户捏时显示数字为负。我怎么能说明这一点?
  5. 最后是我的图表代码:

    mDataset.addSeries(series);
    PointStyle style = PointStyle.CIRCLE;
    renderer = buildRenderer(lineColor, style, true);
    setChartSettings(renderer, "X", "Y", 0, 50, yMin, yMax, Color.WHITE,
                     Color.WHITE, title,chartColor);
    GraphicalView chart = ChartFactory.getLineChartView(context, mDataset, renderer);
    layout.addView(chart, new LayoutParams(LayoutParams.MATCH_PARENT,
                                           LayoutParams.MATCH_PARENT));
    HashMap map = new HashMap();
    

    和渲染器:

    protected XYMultipleSeriesRenderer buildRenderer(int color,
                                                     PointStyle style,
                                                     boolean fill) {
        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
    
        XYSeriesRenderer r = new XYSeriesRenderer();
        r.setColor(color);
        r.setPointStyle(style);
        r.setFillPoints(fill);
        r.setLineWidth(3);
        renderer.addSeriesRenderer(r);
        return renderer;
    }
    

    我随机输入了所有数据。

1 个答案:

答案 0 :(得分:1)

  1. 您必须在PanListener和每个chartA事件上注册panApplied,只需执行:rendererB.setXAxisMin(rendererA.getXAxisMin());,对于最大X和Y轴,然后拨打chartB.repaint();
  2. 与上述相同,只需添加ZoomListener
  3. 即可
  4. 您可以设置点击监听器:chartA.setOnClickListener();
  5. 请重新制作一个单独的问题。
  6. 另外,请参阅this代码,了解如何使用上述API。