2011-11-05 44 views
0
@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获取有关WVGA800

但我没有得到确切的屏幕的坐标。

回答

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; 
} 

你会得到你降落位置的坐标。

+0

你会得到你接触的位置的坐标 – Raj

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);