Android View基础

View与ViewGroup

View是Android所有控件的基类。ViewGroup是View的子类,一般的布局控件LinearLayout、RelativeLayout等都是继承自ViewGroup。ViewGroup可以看做View的组合,它又可以包含View以及ViewGroup,以此类推,可以形成一棵View树。如下图

View树

坐标系

Android坐标系

在Android中,将屏幕左上角的顶点作为Android坐标系的原点,这个原点向右是X轴正方向,向下是Y轴正方向。另外在触控事件中,使用getRawX()和getRawY()方法获得的坐标也是Android坐标系的坐标。如下图

Android坐标系

View坐标系

如下图

View坐标
View获取自身的宽和高

width=getRight()-getLeft();
height=getBottom()-getTop();

对应View源码中的方法

    public final int getWidth() {
        return mRight - mLeft;
    }
    public final int getHeight() {
        return mBottom - mTop;
    }
View自身的坐标
  • getTop():获取View自身顶边到其父布局顶边的距离。
  • getLeft():获取View自身左边到其父布局左边的距离。
  • getRight():获取View自身右边到其父布局左边的距离。
  • getBottom():获取View自身底边到其父布局顶边的距离。
MotionEvent提供的方法

触摸事件中参数MotionEvent提供的方法经常使用。

  • getX():获取点击事件距离控件左边的距离,即视图坐标。
  • getY()):获取点击事件距离控件顶边的距离,即视图坐标。
  • getRawX():获取点击事件距离整个屏幕左边的距离,即绝对坐标。
  • getRawY():获取点击事件距离整个屏幕顶边的距离,即绝对坐标。

参考《Android进阶之光》

你可能感兴趣的:(Android View基础)