您的位置:首页 > 其它

View的事件体系——View的位置参数

2016-04-12 17:24 295 查看
View的位置主要由它的四个顶点来决定,分别对应于View的四个属性:top、left、right、bottom。其中top是左上角纵坐标,left是左上角横坐标,right是右下角横坐标,bottom是右下角纵坐标。需要注意的是,这些坐标都是相对于View的父容器来说的,因此它是一种相对坐标。需要注意的是,这些坐标都是相对于View的父容器来说的,因此它是一种相对坐标,View的坐标和父容器的关系如下。在Android中,X轴和Y轴的正方向分别为右和下,这点不难理解,不仅仅是Android,大部分显示系统都是按照这个标准来定义坐标系的。



根据上图我们很容易得出,View的宽高和坐标的关系:

width=right-left

height=bottom-top

那么如何得到View的这四个参数呢?也很简单,在View的源码中它们对应于mLeft,mRight,mTop和mBottom这四个成员变量,获取方式如下所示:

Left=getLeft();

Right=getRight();

Top=getTop();

Bottom=getBottom();

从Android3.0开始,View增加了额外的几个参数,X,Y,translationX,translationY,其中X和Y是View左上角的坐标,而translationX和translationY是View左上角相对于父容器的偏移量。这几个参数也是相对于父容器的坐标,并且translationX和translationY的默认值是0,和View的四个基本位置参数一样,View也为它们提供了get/set方法,这几个参数的换算关系如下所示。

x=left+translatoinX

y=top+translationY

需要注意的是,View在平移的过程中,top和left表示的是原始左上角的位置信息,其值并不会发生改变,此时发生改变的是x,y,translationX,和translationY这四个参数。(在View静止的形态下,View的getX()和getLeft()的值是一样的,getY()和getTop()的值是一样的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  View坐标 getX getY getLeft