gpt4 book ai didi

java - AndroidPlot:检测点上的触摸事件

转载 作者:行者123 更新时间:2023-12-02 05:28:23 25 4
gpt4 key购买 nike

我正在使用 AndroidPlot 编写一个应用程序,其中用户需要能够触摸散点图上的一个点并显示有关该特定点的信息。换句话说,应用程序需要识别距触摸位置最近的点或以其他方式识别已触摸的点,并能够返回该点的具体标识。该散点图中的所有点始终属于一个系列,因此识别系列之间不是问题,但我不知道如何实现查找或识别触摸点。

我可以达到:

plot.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
PointF click = new PointF(motionEvent.getX(), motionEvent.getY());
if(plot.getGraphWidget().containsPoint(click)) {
AlertDialog.Builder builder = new AlertDialog.Builder(GraphView.this);
builder.setTitle("Point: ");
builder.setMessage("Description: ");
AlertDialog dialog = builder.create();
dialog.show();
}
return false;
}
});
}

每当触摸图形时都会创建警报对话框。

最佳答案

DemoApp's BarPlotExampleActivity已在其 onPlotClicked(...) 方法中实现此功能。它当然可以改进,但应该为您提供一个良好的起点。

基本步骤是:

  • 过滤绘图图表区域内的点击。 (你已经有了这首曲子)
  • 使用 XYPlot.getXVal(screenX) 和 XYPlot.getYVal(screenY) 将屏幕坐标转换为域/范围值。
  • 在模型中查找与上述域/范围值最接近的点。

关于java - AndroidPlot:检测点上的触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25782334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com