Android MotionEvent中getX()和getRawX()的區(qū)別實例詳解
Android MotionEvent中getX()和getRawX()的區(qū)別實例詳解
實例代碼:
public class Res extends Activity implements View.OnTouchListener { Button btn = null; int x = 0; int y = 0; int rawx = 0; int rawy = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.button); btn.setOnTouchListener(this); } public boolean onTouch(View view, MotionEvent event) { int eventaction = event.getAction(); switch (eventaction) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: x = (int) event.getX(); y = (int) event.getY(); rawx = (int) event.getRawX(); rawy = (int) event.getRawY(); Log.d("DEBUG", "getX=" + x + "getY=" + y + "n" + "getRawX=" + rawx + "getRawY=" + rawy + "n"); break; case MotionEvent.ACTION_UP: break; } return false; } }
結論:
當你觸到按鈕時,x,y是相對于該按鈕左上點(控件本身)的相對位置。
而rawx,rawy始終是相對于屏幕的位置。
可知:
- getRowX:觸摸點相對于屏幕的坐標
- getX: 觸摸點相對于按鈕的坐標
- getTop: 按鈕左上角相對于父view(LinerLayout)的y坐標
- getLeft: 按鈕左上角相對于父view(LinerLayout)的x坐標
可以想象 getRight()等同于下面的計算:getLeft()+getWidth()。
getX()是表示W(wǎng)idget相對于自身左上角的x坐標,而getRawX()是表示相對于屏幕左上角的x坐標值(注意:這個屏幕左上角是手機屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一樣的道理
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Android持久化技術之SharedPreferences存儲實例詳解
這篇文章主要介紹了Android持久化技術之SharedPreferences存儲,結合實例形式較為詳細的分析了SharedPreferences存儲的原理、應用及具體實現(xiàn)方法,需要的朋友可以參考下2016-01-01Android實現(xiàn)基于滑動的SQLite數(shù)據(jù)分頁加載技術(附demo源碼下載)
這篇文章主要介紹了Android實現(xiàn)基于滑動的SQLite數(shù)據(jù)分頁加載技術,涉及Android針對SQLite數(shù)據(jù)的讀取及查詢結果的分頁顯示功能相關實現(xiàn)技巧,末尾還附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-07-07android handler.post和handler.sendMessage的區(qū)別和聯(lián)系
handler.post和handler.sendMessage本質上是沒有區(qū)別的,都是發(fā)送一個消息到消息隊列中,而且消息隊列和handler都是依賴于同一個線程的。接下來通過本文給大家分享android handler.post和handler.sendMessage的區(qū)別和聯(lián)系,一起看看吧2017-08-08Android利用Espresso進行UI自動化測試的方法詳解
因為我是搞android開發(fā)的,所以被分到了自動化測試小組,所以了解了一些UI自動化測試。下面這篇文章主要給大家介紹了關于Android利用Espresso進行UI自動化測試的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-12-12Android觸摸事件和mousedown、mouseup、click事件之間的關系
今天小編就為大家分享一篇關于Android觸摸事件和mousedown、mouseup、click事件之間的關系,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01