自定义View基础之坐标系

来源:互联网 发布:大数金科网络 编辑:程序博客网 时间:2024/05/29 19:14

一.屏幕坐标系和数学坐标系的区别

 移动设备上的坐标是按照屏幕左上角开始计算的,从左上角到右边是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()获取点击点相对于屏幕上边的距离。


0 0