我有一個圖像我顯示給我的android應用程序中的用戶。獲取觸摸座標相對於視圖(ScreenToClient等效?)
我想知道他們'接觸'圖像的位置。
我可以很容易地得到屏幕座標通過實施OnTouchListener
private OnTouchListener image_Listener = new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_UP) {
float x = event.getX();
float y = event.getY();
return true;
}
return false;
}
};
然而,這些絕對座標。我真的需要的是一個功能,將其轉換成相對於視圖的座標..
我已經做了一些挖掘,但我似乎無法調出任何東西,除了我試圖實現ScreenToClient方法我自己..
有沒有人知道這個很好的解決方案,或者我只是將不得不推出自己的?
這似乎是一種可用的方法 - 這就是爲什麼我問。
謝謝大家的時間。
編輯:我不太確定座標是不是已經相對於視圖。我可以發誓讀取的座標是絕對的,但經過一些修補 - 我有事情工作,因爲我的預期..對不起,噪音傢伙。
感謝您的回答。 – syllogism
我到了同樣的問題。從教程中,這些方法,比如view.getLeft()。 「返回視圖相對於其父項的位置。」通常,對於複雜的佈局,調查視圖不是屏幕視圖的直接子視圖。所以Deev提到的方法不能總是適用。任何新想法? – user1914692
嗯,我找到一種方法:使用View.getLocationOnScreen()和/或getLocationInWindow()。 – user1914692