亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android MotionEvent中getX()和getRawX()的區(qū)別實例詳解

 更新時間:2017年03月20日 11:36:14   投稿:lqh  
這篇文章主要介紹了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存儲實例詳解

    這篇文章主要介紹了Android持久化技術之SharedPreferences存儲,結合實例形式較為詳細的分析了SharedPreferences存儲的原理、應用及具體實現(xiàn)方法,需要的朋友可以參考下
    2016-01-01
  • Android ActionBar制作時鐘實例解析

    Android ActionBar制作時鐘實例解析

    這篇文章主要為大家詳細介紹了Android ActionBar制作時鐘的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android 超詳細SplashScreen入門教程

    Android 超詳細SplashScreen入門教程

    Android 12正式版即將發(fā)布,有一個非常顯著的視覺變化就是,Android 12強制給所有的App都增加了SplashScreen的功能。是的,即使你什么都不做,只要你的App安裝到了Android 12手機上,都會自動擁有這個新功能
    2022-03-03
  • Android實現(xiàn)基于滑動的SQLite數(shù)據(jù)分頁加載技術(附demo源碼下載)

    Android實現(xiàn)基于滑動的SQLite數(shù)據(jù)分頁加載技術(附demo源碼下載)

    這篇文章主要介紹了Android實現(xiàn)基于滑動的SQLite數(shù)據(jù)分頁加載技術,涉及Android針對SQLite數(shù)據(jù)的讀取及查詢結果的分頁顯示功能相關實現(xiàn)技巧,末尾還附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2016-07-07
  • Android簡單修改原有應用和添加應用的方法

    Android簡單修改原有應用和添加應用的方法

    這篇文章主要介紹了Android簡單修改原有應用和添加應用的方法,涉及Android工程項目中針對源碼的修改及資源文件的編譯等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • Android如何實現(xiàn)APP自動更新

    Android如何實現(xiàn)APP自動更新

    現(xiàn)在一般的android軟件都是需要不斷更新的,當你打開某個app的時候,如果有新的版本,它會提示你有新版本需要更新。該小程序實現(xiàn)的就是這個功能。有需要的朋友們可以參考借鑒。
    2016-08-08
  • android handler.post和handler.sendMessage的區(qū)別和聯(lián)系

    android handler.post和handler.sendMessage的區(qū)別和聯(lián)系

    handler.post和handler.sendMessage本質上是沒有區(qū)別的,都是發(fā)送一個消息到消息隊列中,而且消息隊列和handler都是依賴于同一個線程的。接下來通過本文給大家分享android handler.post和handler.sendMessage的區(qū)別和聯(lián)系,一起看看吧
    2017-08-08
  • Android利用Espresso進行UI自動化測試的方法詳解

    Android利用Espresso進行UI自動化測試的方法詳解

    因為我是搞android開發(fā)的,所以被分到了自動化測試小組,所以了解了一些UI自動化測試。下面這篇文章主要給大家介紹了關于Android利用Espresso進行UI自動化測試的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • Flutter 如何封裝文本輸入框組件

    Flutter 如何封裝文本輸入框組件

    在實際開發(fā)過程中,往往開始是完成功能層面的開發(fā),然而再考慮組件封裝和代碼優(yōu)化。當然,組件封裝越早做越好,因為這樣會提高整個團隊開發(fā)的規(guī)范性和效率。本文將介紹如何封裝一個文本輸入框組件
    2021-06-06
  • Android觸摸事件和mousedown、mouseup、click事件之間的關系

    Android觸摸事件和mousedown、mouseup、click事件之間的關系

    今天小編就為大家分享一篇關于Android觸摸事件和mousedown、mouseup、click事件之間的關系,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論