【问题标题】:Android AChartEngine graphicalView share eventsAndroid AChartEngine graphicsView 分享事件
【发布时间】:2013-05-27 22:28:22
【问题描述】:

首先我在下面给出我的视图。并给出一些解释:

在我的 ViewGroup 中,我有两个 GraphicalView,每个都共享相同大小的空间。让我们将图表称为图表A 上方和图表B 下方的图表。

那我有几个问题:

  1. 如果我在图表 A 上移动,如何让图表 B 移动,就像我的手指在图表 B 上移动一样?
  2. 如果我捏在chartA上,chartB也能自动改变吗?
  3. 我想在某些点上添加一些回调函数? ACE 支持吗?
  4. 我不想在用户捏合时显示负数。我该如何说明这一点?

最后是我的图表代码:

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;
}

我随机抽取所有我想要的数据。

【问题讨论】:

    标签: android callback scroll listener achartengine


    【解决方案1】:
    1. 您必须在您的chartA 和每个panApplied 事件上注册一个PanListener,只需执行:rendererB.setXAxisMin(rendererA.getXAxisMin()); 和最大 X 轴和 Y 轴相同,然后调用 chartB.repaint();
    2. 同上,只是需要添加ZoomListener
    3. 可以设置点击监听:chartA.setOnClickListener();
    4. 请重新表述为一个单独的问题。

    另外,请参阅this 代码,向您展示如何使用上述 API。

    【讨论】:

      猜你喜欢
      • 2011-07-24
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 2020-11-06
      • 2023-03-14
      • 1970-01-01
      相关资源
      最近更新 更多