我正在使用
据我所知,给定
以下是用于监听长按操作的
GestureListener
在Android的SurfaceView
中捕获MotionEvent
以进行长按操作。然后,我需要将MotionEvent
的坐标转换为画布坐标,从而可以生成自定义地图坐标(不是Google Maps)。据我所知,给定
MotionEvent e
,e.getX()
和e.getY()
获取像素坐标。如何将这些坐标转换为SurfaceView
的画布坐标?以下是用于监听长按操作的
GestureListener
代码:/**
* Overrides touch gestures not handled by the default touch listener
*/
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public void onLongPress(MotionEvent e) {
Point p = new Point();
p.x = (int) e.getX();
p.y = (int) e.getY();
//TODO translate p to canvas coordinates
}
}
提前致谢!
编辑:这与屏幕尺寸/分辨率/深度和画布的矩形对象有关吗?
translate(float dx, float dy)
吗? - Nikola Despotoski