Android View的getLeft, getRight, getTop, getBottom

来源:互联网 发布:蓝桥杯c语言试题及答案 编辑:程序博客网 时间:2024/05/10 06:51

原文:http://www.cnblogs.com/zhengbeibei/archive/2013/05/07/3065999.html
一、  理解Android坐标,位置概念
    坐标系在二维视图中通过X轴和Y轴两个数字为组合表示某个点的绝对坐标。 例如(30, 100) 通常表示X轴30, Y轴100交叉的一个点。   在Android中以左上角为原点(0,0),水平方向是X轴,从左到右,垂直方向是Y轴,从上到下,可以把left相当于X轴值, top相当于Y轴值, 通过这两个值Android系统可以知道视图的绘制起点,在通过Wdith 和 Height 可以得到视图上下左右具体值,就可以在屏幕上绝对位置绘制视图。right 与 bottom计算如下:
    right = left + width;
    bottom = top + height;
二、 View中相应API
view.getLeft()表示的是view左侧以其父View的左上角为原点的水平坐标位置 ;
view.getRight()表示的view右侧以其父View的左上角为原点的水平坐标位置 ;
view.getTop()表示的是view顶部以父View的左上角为原点的垂直坐标位置 ;
view.getBottom()表示的是view底部以父View的左上角为原点的垂直坐标位置 ;
view.getWidth()表示view宽度;
view.getHeight()表示view高度 ;
三、  实例分析
Android View坐标getLeft, getRight, getTop, getBottom - hubingforever - 民主与科学
 
蓝色区域位置 left = 0,   top = 0         坐标(0, 0 )
黄色区域位置 left = 60, top = 115    坐标(60, 115) 
绿色区域位置 left = 55, top = 55 坐标(115, 170)   
大家看看下面的图就明白了
Android View坐标getLeft, getRight, getTop, getBottom - hubingforever - 民主与科学
注意: 视图的left , top , right , bottom 的值是针对其父视图的相对位置, 绿色区域是针对其父视图(即黄色区域为(0, 0)点)的坐标,不应该是(115, 170 ) 而是 (55, 55)


0 0