0

我正在使用jjoe64 的Android 版 GraphView。目前我正在尝试确定两件事:

  1. 绘制后是否有可能获得 DataPoint 的 x,y 位置值?
  2. 另外,是否可以在 onTap 调用中获取该位置?

我正在尝试在数据点上方显示自定义视图(点击或以其他方式);因此我需要它的坐标的原因。我知道如何获取用户触摸的 x,y 位置,但问题是我还需要数据点的值。

据我所知,DataPoint 和 DataPointInterface 没有可访问的 x,y 位置值 - 只有 x,y 双值(与位置无关)。

我希望有类似的东西:

    DataPoint p = series.getPoint(n);
    int x = p.getXLocation();
    int y = p.getYLocation();

其中 n 是系列中的确切位置(例如从 ArrayList 中获取某些内容)或 n 表示在创建时赋予 DataPoint 的非位置 x 值(new DataPoint( double x , double y))。

有没有其他人使用这个库解决了这个问题?任何帮助将非常感激。谢谢!

4

2 回答 2

0

我最终继承了 BaseSeries 并基本上对 LineGraphSeries 进行了完整的复制,除了将其中一些受保护的函数公开。这使我能够在地图中跟踪数据点及其 PointF,然后根据其相应的数据点查找 PointF。

于 2015-05-05T20:00:04.093 回答
-1
views.setOnDataPointTapListener(new OnDataPointTapListener() {
                                        @Override
                                        public void onTap(Series series, DataPointInterface dataPoint) {
                                            Toast.makeText(graph.getContext(), "Data : On Data Point clicked: "+dataPoint, Toast.LENGTH_SHORT).show();
                                        }
                                    });

我发现这是为了显示数据点。正如你所见,它很容易。

于 2015-05-08T08:17:24.560 回答