android开发:view的坐标体系

Android中有两种坐标系,分别为Android坐标系和视图坐标系,首先我们先来看看Android坐标系。
在Android中,将屏幕的左上角的顶点作为Android坐标系的原点,这个原点向右是X轴正方向,原点向下是Y轴正方向。

Android坐标系:
android开发:view的坐标体系
视图坐标系:
android开发:view的坐标体系

View自身宽高:

getHeight():获取View自身高度
getWidth():获取View自身宽度

View自身坐标:

getTop():获取View自身上边界到其父布局顶边的距离
getLeft():获取View自身左边界到其父布局左边的距离
getRight():获取View自身右边界到其父布局左边的距离
getBottom():获取View自身下边界到其父布局顶边的距离
需要注意的是,上面四个方法是获取view默认位置距离父控件的左右上下距离。当view移动时他们获取到的值依旧不变,view移动过程中改变的是translationX、translationY,因此当view移动时它左上角的坐标应该是(getLeft()+translationX,getTop()+translationY)

MotionEvent提供的方法

getX():获取我们点击位置到view左边的距离,即视图坐标
getY():获取点击位置距离控件顶边的距离,即视图坐标
getRawX():获取点击位置距离整个屏幕左边距离,即绝对坐标
getRawY():获取点击位置距离整个屏幕顶边的的距离,即绝对坐标