欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android MotionEvent中g(shù)etX()和getRawX()的區(qū)別實(shí)例詳解

 更新時(shí)間:2017年03月20日 11:36:14   投稿:lqh  
這篇文章主要介紹了Android MotionEvent中g(shù)etX()和getRawX()的區(qū)別實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

Android MotionEvent中g(shù)etX()和getRawX()的區(qū)別實(shí)例詳解

實(shí)例代碼:

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;  
  }  
}  

結(jié)論:

當(dāng)你觸到按鈕時(shí),x,y是相對(duì)于該按鈕左上點(diǎn)(控件本身)的相對(duì)位置。

而rawx,rawy始終是相對(duì)于屏幕的位置。

可知:

  • getRowX:觸摸點(diǎn)相對(duì)于屏幕的坐標(biāo)
  • getX: 觸摸點(diǎn)相對(duì)于按鈕的坐標(biāo)
  • getTop: 按鈕左上角相對(duì)于父view(LinerLayout)的y坐標(biāo)
  • getLeft: 按鈕左上角相對(duì)于父view(LinerLayout)的x坐標(biāo)

可以想象 getRight()等同于下面的計(jì)算:getLeft()+getWidth()。

getX()是表示W(wǎng)idget相對(duì)于自身左上角的x坐標(biāo),而getRawX()是表示相對(duì)于屏幕左上角的x坐標(biāo)值(注意:這個(gè)屏幕左上角是手機(jī)屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一樣的道理

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Android持久化技術(shù)之SharedPreferences存儲(chǔ)實(shí)例詳解

    Android持久化技術(shù)之SharedPreferences存儲(chǔ)實(shí)例詳解

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

    Android ActionBar制作時(shí)鐘實(shí)例解析

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

    Android 超詳細(xì)SplashScreen入門(mén)教程

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

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

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

    Android簡(jiǎn)單修改原有應(yīng)用和添加應(yīng)用的方法

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

    Android如何實(shí)現(xiàn)APP自動(dòng)更新

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

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

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

    Android利用Espresso進(jìn)行UI自動(dòng)化測(cè)試的方法詳解

    因?yàn)槲沂歉鉧ndroid開(kāi)發(fā)的,所以被分到了自動(dòng)化測(cè)試小組,所以了解了一些UI自動(dòng)化測(cè)試。下面這篇文章主要給大家介紹了關(guān)于Android利用Espresso進(jìn)行UI自動(dòng)化測(cè)試的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-12-12
  • Flutter 如何封裝文本輸入框組件

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

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

    Android觸摸事件和mousedown、mouseup、click事件之間的關(guān)系

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

最新評(píng)論