View.getLocationInWindow()、View.getLocationOnScreen()
1 | //location [0]--->x坐标,location [1]--->y坐标 |
View.getLocationInWindow(@Size(2) int[] outLocation)
getLocationInWindow是以B为原点的C的坐标
计算该视图在它所在的widnow的坐标x,y值,获取在整个窗口内的绝对坐标
View.getLocationOnScreen(@Size(2) int[] outLocation)
getLocationOnScreen是以A为原点的C的坐标
计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标
以上2种方法得到绝对位置的方法只在有弹出窗时会有区别。
View.getLeft() , View.getTop(), View.getBottom(),View.getRight()
获取相对父容器的坐标
MotionEvent.getX(),MotionEvent.getRawX()
- MotionEvent.getX():相对于自身左上角的x坐标
- MotionEvent.getRawX():相对于屏幕左上角的x坐标值