一、屏幕坐标系与数学坐标系的区别

| 坐标系 | 说明 |
|---|---|
| 数学坐标系 | 以轴线交叉点为原点,向右 X 轴增大,向上 Y 轴增大,角度逆时针为正向 |
| 屏幕坐标系 | 以屏幕左上角为原点,向右 X 轴增大,向下 Y 轴增大,角度顺时针为正向 |
二、屏幕坐标系

三、View 的坐标系

注意:View 的坐标系统是相对于父控件而言的。
| 坐标系方法 | 说明 |
|---|---|
| getTop() | 获取子 View 左上角距父 View 顶部的距离 |
| getLeft() | 获取子 View 左上角距父 View 左侧的距离 |
| getBottom() | 获取子 View 右下角距父 View 顶部的距离 |
| getRight() | 获取子 View 右下角距父 View 左侧的距离 |
四、MotionEvent 中 get 和 getRaw 的区别

| 坐标系方法 | 说明 |
|---|---|
| event.getX() | 触摸点相对于其所在组件坐标系的 X 坐标 |
| event.getY() | 触摸点相对于其所在组件坐标系的 Y 坐标 |
| event.getRawX() | 触摸点相对于屏幕默认坐标系的 X 坐标 |
| event.getRawY() | 触摸点相对于屏幕默认坐标系的 Y 坐标 |