@Override
public boolean onTouchEvent(MotionEvent event) {
X = (int) event.getX();
Y = (int) event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Toast.makeText(context, X + "-" +Y,
Toast.LENGTH_LONG).show();
break;
}
return true;
}
我正在尝试使用此代码来获取WVGA800上画布的x和y坐标, Android 2.1版
但我没有得到屏幕的确切坐标。
答案 0 :(得分:2)
您想获取屏幕的坐标吗?您的代码实际上是获取相对于视图/画布的坐标(由事件报告)。如果屏幕坐标是您想要的,请尝试使用View.getLocationOnScreen根据视图坐标计算它。
X = (int) event.getX();
Y = (int) event.getY();
int[] position = new int[2];
position[0] = X;
position[1] = Y;
this.getLocationOnScreen(position);
答案 1 :(得分:0)
试试这个:
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
X = (int) event.getX();
Y = (int) event.getY();
Toast.makeText(context, X + "-" +Y,
Toast.LENGTH_LONG).show();
break;
}
return true;
}
您将获得您触及的位置的坐标。