国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

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

2019-12-12 03:20:07
字體:
來源:轉載
供稿:網(wǎng)友

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()一樣的道理

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 达日县| 江都市| 长治县| 专栏| 利辛县| 祁连县| 宜川县| 湾仔区| 余姚市| 金寨县| 广东省| 兴安盟| 和静县| 嘉黎县| 山阳县| 卢湾区| 枞阳县| 安仁县| 胶州市| 舞阳县| 精河县| 克东县| 澜沧| 钟山县| 宁蒗| 界首市| 凤城市| 边坝县| 巴中市| 肃宁县| 磴口县| 宜都市| 深水埗区| 玛曲县| 嵊泗县| 洞头县| 收藏| 荣成市| 全南县| 明光市| 彰武县|