自定义View之Android坐标系

自定义控件的绘制离不开Android坐标系。本篇详细记录Android坐标系。

Android坐标系


自定义View之Android坐标系
Android坐标系

如上图所示,方框代表的是手机屏幕,水平向右为X轴,垂直向下为Y轴,Y轴的坐标越向下越大,坐标系原点是屏幕左上角。

手机屏幕中View坐标。


自定义View之Android坐标系

上图解释了屏幕中的View获取四个边距的方法。

手机中ViewGroup中获得子View相对于父View四个边距的方法解释


自定义View之Android坐标系

子View的四个方法获得的值是相对于父View的。

getTop();      //获取子View左上角距父View顶部的距离

getLeft();      //获取子View左上角距父View左侧的距离

getBottom();    //获取子View右下角距父View顶部的距离

getRight();    //获取子View右下角距父View左侧的距离

MotionEvent中event.getX()和event.getRawX区别


自定义View之Android坐标系

可以看到,上图中,getRawX/getRawY是点相对于屏幕边距的距离;getX/getY则是相对于点所在的View左边距和上边距的距离。