安卓中的坐標系
一.屏幕坐標系和數(shù)學坐標系的區(qū)別
由于移動設(shè)備一般定義屏幕左上角為坐標原點,向右為x軸增大方向,向下為y軸增大方向, 所以在手機屏幕上的坐標系與數(shù)學中常見的坐標系是稍微有點差別的,詳情如下:
(PS:其中的∠a 是對應的,注意y軸方向!)
實際屏幕上的默認坐標系如下:
PS: 假設(shè)其中棕色部分為手機屏幕
二.View的坐標系
注意:View的坐標系統(tǒng)是相對于父控件而言的.
getTop(); //獲取子View左上角距父View頂部的距離 getLeft(); //獲取子View左上角距父View左側(cè)的距離 getBottom(); //獲取子View右下角距父View頂部的距離 getRight(); //獲取子View右下角距父View左側(cè)的距離
三.MotionEvent中 get 和 getRaw 的區(qū)別
event.getX(); //觸摸點相對于其所在組件坐標系的坐標 event.getY(); event.getRawX(); //觸摸點相對于屏幕默認坐標系的坐標 event.getRawY();
如下圖所示:
PS:其中相同顏色的內(nèi)容是對應的,其中為了顯示方便,藍色箭頭向左稍微偏移了一點.