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进阶之光》
网友评论