Android自定义view目录

Android坐标系

Android view的摆放,宽高,绘制,都是需要位置的,而有位置就会有坐标系,有了坐标系我们就能将全部的view按照统一的坐标系来完成摆放,宽高,绘制等操作。

Android中的坐标系。

  1. Android坐标系。
  2. 视图view坐标系。

1. Android坐标系

Android坐标系以屏幕左上角为原点,向右为X轴正坐标。向下为Y轴正坐标。

Android绘制XY轴 android 坐标系_Android

2. 视图坐标系

视图坐标系为Android view相对于父控件的位置,坐标系原点为父控件左上角,x,y轴方向与Android坐标系相同。

Android绘制XY轴 android 坐标系_宽高_02

如图:

控件属性的 getLeft, getTop等都是子控件相对于父控件的坐标,

其中控件的getX()、getY()方法也是相对于父控件的位置,

eg: getX的源码就是控件的mLeft加上之后的偏移量

public float getX() {
        return mLeft + getTranslationX();
    }

3. 触摸坐标

上面的途中可以看出,触摸的坐标有两个坐标系

  1. getX、getY这个是以被触摸控件的左上角为原点的视图坐标获取的触摸位置。
  2. getRawX、getRawY,这时以屏幕最上角为原点的Android坐标的触摸位置