一. 屏幕坐標系和數學坐標系的區別
由于移動設備一般定義屏幕左上角為坐標原點,向右為x軸增大方向,向下為y軸增大方向,所以在手機屏幕上的坐標系與數學中常見的坐標系不同,詳情如下:
坐標系.png
Android兩種坐標系
Android 屏幕坐標系
Android 視圖坐標系
二. View 的坐標系
注:View 的坐標系是相對于父控件而言的
getTop(); //獲取子View左上角距父View頂部的距離
getLeft(); //獲取子View左上角距父View左側的距離
getBottom(); //獲取子View右下角距父View頂部的距離
getRight(); //獲取子View右下角距父View左側的距離
如下圖所示:
View實際坐標系.png
三. MotionEvent中 get 和 getRaw 的區別
event.getX(); //觸摸點相對于其所在組件坐標系的坐標
event.getY();
event.getRawX(); //觸摸點相對于屏幕默認坐標系的坐標
event.getRawY();
如下圖所示:
View get坐標系.png