2016-12-12 3 views
0

Я написал следующий код, чтобы узнать координаты точки касания.Android: получение x, y координаты представления

view.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View view, MotionEvent motionEvent) { 
       float val = view.getAlpha(); 
       float xVal = view.getX(); 
       float yVal = view.getY(); 
       String message = "Screen height: " + height + ", width: " + width + "\n" + 
         "Alpha Value: " + val + ", x Coordinate: " + xVal + ", y Coordinate: " + yVal; 
       Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show(); 
       return false; 
      } 

Оказалось, что всегда возвращается фиксированное значение, 32.0 для каждой координаты x и координаты y.

+0

http://stackoverflow.com/questions/3476779/how-to-get-the-touch-position-in-android Это может помочь. –

ответ

1

Вместо того, чтобы получать координаты x и y через view.getX() и view.getY(), соответственно, внутри метода onTouch(), работало следующим образом.

float xVal = motionEvent.getX(); float yVal = motionEvent.getY();

+0

Этот ответ может быть полезен другим людям в будущем –

+1

@ Hey-men-whatsup Спасибо человеку :) –

Смежные вопросы