2014-02-26 72 views

回答

5

下面的鏈接會給你它們之間的區別:

Difference between MotionEvent.getRawX and MotionEvent.getX

要知道場景時使用它們:

Android的觸摸事件,可用於簡單的手勢一樣離開,正確的滑動,甚至可以用於設計遊戲等複雜的觸摸場景。現在對於簡單的滑動事件,我們不需要所有的原始值。只要觸摸座標相對於我們的視圖就足夠了。但在遊戲和其他複雜場景中,我們不確定我們可能需要如何使用觸摸座標值。所以,我們從系統中獲取原始值並相應地操縱它們。它們可以是其他類似的場景,其中可以相應地使用這些API。

4

這意味着在實踐中,getX()和getY()對許多用例都沒有用處,並且應該將應用程序邏輯基於getRawX()和getRawY(),保證返回相對於設備的絕對座標屏幕。使用MapView時,我可以通過從MotionEvent.getRawX()和MotionEvent中減去Window的內容視圖(Window.ID_ANDROID_CONTENT)的View.getLeft()和View.getTop()來獲得相對的X和Y座標。 getRawY(),分別。