2017-07-27 189 views
1

因此,我需要獲得我在ImageView上的觸摸座標。在ImageView touch上獲取X/Y座標

我已經成功地嘗試在OnTouchListener事件中獲取座標。但這不是我真正需要的。

問題是,屏幕的分辨率遠低於ImageView中圖片的分辨率。

如何獲得圖像的實際座標(可能是某些像素)?

回答

2

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 –

2

爲此目的,有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