在ImageView touch上获取X/Y坐标

问题描述:

因此,我需要获得我在ImageView上的触摸坐标。在ImageView touch上获取X/Y坐标

我已经成功地尝试在OnTouchListener事件中获取坐标。但这不是我真正需要的。

问题是,屏幕的分辨率远低于ImageView中图片的分辨率。

如何获得图像的实际坐标(可能是某些像素)?

Android: How do I get the x y coordinates within an image/ImageView?

imageView.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View view) { 
      int[] values = new int[2]; 
      view.getLocationOnScreen(values); 
      Log.d("X & Y",values[0]+" "+values[1]); 
     } 
    }); 

像这样的事情?

+1

非常感谢您的时间) –

+0

没问题,让我们更新它的方式。 –

+1

@Jana_Doe它似乎很奇怪,但它总是返回我0/256 –

为此目的,有getLocationOnScreen()和getLocationInWindow()方法。

imageView.setOnTouchListener(new OnTouchListener() { 
      @Override public boolean onTouch(View view, MotionEvent motionEvent) { 
       int[] locations = new int[2]; 
       view.getLocationOnScreen(locations); 
       //view.getLocationInWindow(locations); 
       return false; 
      } 
     }); 
+0

我会尝试和反馈,非常感谢提前 –

+0

它总是返回我0/256,有什么想法? –

+0

因为这表示您的视图的绝对坐标。如果你正在寻找触摸位置,你可以使用motionEvent.getX(),motionEvent.getY()方法 – santalu