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

首頁 > 系統 > Android > 正文

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

2019-10-23 18:34:17
字體:
來源:轉載
供稿:網友

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

實例代碼:

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始終是相對于屏幕的位置。

Android,MotionEvent中getX()和getRawX()的區別,MotionEvent,獲取坐標

可知:

  • getRowX:觸摸點相對于屏幕的坐標
  • getX: 觸摸點相對于按鈕的坐標
  • getTop: 按鈕左上角相對于父view(LinerLayout)的y坐標
  • getLeft: 按鈕左上角相對于父view(LinerLayout)的x坐標

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

getX()是表示Widget相對于自身左上角的x坐標,而getRawX()是表示相對于屏幕左上角的x坐標值(注意:這個屏幕左上角是手機屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一樣的道理

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿坝| 礼泉县| 辽阳市| 普宁市| 瓦房店市| 长垣县| 北票市| 离岛区| 左权县| 宁强县| 湖州市| 遵义县| 资源县| 青阳县| 申扎县| 綦江县| 抚顺县| 滕州市| 库伦旗| 海兴县| 黔东| 洞口县| 凤凰县| 萨迦县| 佳木斯市| 寿光市| 玛曲县| 兖州市| 长治市| 绵阳市| 莱西市| 宁化县| 神农架林区| 芜湖市| 九江县| 大余县| 日照市| 平和县| 安陆市| 怀远县| 噶尔县|