View体系(一)基础知识
View 及ViewGroup
在Android中,常用控件可大致分为两大类:View与ViewGroup。ViewGroup可包含多个View及ViewGroup,形成一个树状结构。需要注意的是ViewGroup也继承自View。View及ViewGroup组织结构如下:
坐标系
在Android中有两种坐标系:Android坐标系和View坐标系。了解坐标系是对View进行更多操作的基础。
Android坐标系
以屏幕左上角为原点,原点向右为X轴正方向,原点向下为Y轴正方向。在触控事件中,getRawX()、getRawY()获取的坐标也是Android坐标系的坐标。

View坐标系
View坐标系是以View为基础的坐标系,搞清楚下图的关系也就清楚了View坐标系。
下面解释一下上图中涉及到的各个方法。
其中下面4个方法可在View中直接获取:
getTop():获取View顶边到父View顶边的距离getBottom():获取View底边到父View顶边的距离getLeft():获取View左边到父View左边的距离getRight():获取View右边到父View左边的距离
剩余4个方法需要在View有触摸事件发生时,通过onTouchEvent(MotionEvent event)方法中的event获取:
getX():触摸点到View左边的距离getY():触摸点到View顶边的距离getRawX():触摸点到屏幕左边的距离getRawY():触摸点到屏幕顶边的距离
示例代码如下:
1  | public class MyView extends View {  | 
源码见Github
参考文献:
《Android进阶之光》
《Android开发艺术探索》
关注我
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 droidYu!







