我正在使用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;
}
});
}
只要触摸图形,就会创建AlertDialog。
答案 0 :(得分:2)
DemoApp's BarPlotExampleActivity在其onPlotClicked(...)方法中实现了此功能。它当然可以改进,但应该给你一个很好的起点。
基本步骤是: