我正在使用MPAndroidChart。我希望能够单击一个数据点并进行拖动,并且当我抬起手指时,我希望能够告诉图形Y值在我抬起手指的位置。在这种情况下,X值并不重要。
我没有问题来检测现有点的坐标。我尝试使用onChartGestureStart和onChartGestureEnd确定新坐标,但到目前为止,它只能告诉我屏幕坐标,我不确定如何将其转换为图表上的Y值。
这是我的侦听器,用于检测按下的数据圈的坐标
chart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
@Override
public void onValueSelected(Entry e, Highlight h) {
if(e.getY() == (float)Min) {
//Min value clicked on , do something
Toast.makeText(getApplicationContext(),"Min Value Clicked:" + Float.toString(e.getY()),Toast.LENGTH_LONG).show();
} else if (e.getY() == (float)Max) {
//Max Value clicked on , do something
Toast.makeText(getApplicationContext(),"Max Value Clicked:" + Float.toString(e.getY()),Toast.LENGTH_LONG).show();
}
}
chart.setOnChartGestureListener(new OnChartGestureListener() {
@Override
public void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {
startX = me.getRawX();
startY =me.getRawY();
int test = me.getPointerCount();
MotionEvent.PointerCoords pc = new MotionEvent.PointerCoords();
me.getPointerCoords(0,pc);
}
@Override
public void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) {
endX = me.getRawX();
endY =me.getRawY();
}