一、屏幕坐标系与数学坐标系的区别
坐标系 | 说明 |
---|---|
数学坐标系 | 以轴线交叉点为原点,向右 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 坐标 |