一.屏幕坐标系和数学坐标系的区别
移动设备上的坐标是按照屏幕左上角开始计算的,从左上角到右边是X轴,从屏幕左上角到下边是Y轴,并且都是正数。而数学中的坐标系是X轴和Y轴交叉,有正负之分。和手机屏幕的Y轴刚好相反。
实际屏幕上的默认坐标系如下:
其中假设棕色部分为手机屏幕
二.View的坐标系
View的坐标是相对于所处于的父控件而言的,千万不要以为是位于所处于的屏幕而言的。
getTop(); //获取子View左上角距父View顶部的距离
getLeft(); //获取子View左上角距父View左侧的距离
getBottom(); //获取子View右下角距父View顶部的距离
getRight(); //获取子View右下角距父View左侧的距离
三.MotionEvent中 get 和 getRaw 的区别
点击事件中的event.getX()获取的是点击点相对于点击控件本身左边的距离,event.getY()是获取点击点相对于点击控件本身上边的距离。enent.getRawX()获取点击点相对于屏幕左边的距离。event.getRawY()获取点击点相对于屏幕上边的距离。