android开发:view的坐标体系
Android中有两种坐标系,分别为Android坐标系和视图坐标系,首先我们先来看看Android坐标系。
在Android中,将屏幕的左上角的顶点作为Android坐标系的原点,这个原点向右是X轴正方向,原点向下是Y轴正方向。
Android坐标系:
视图坐标系:
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():获取点击位置距离整个屏幕顶边的的距离,即绝对坐标