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

来源:互联网 发布:查找spss原数据的网站 编辑:程序博客网 时间:2024/06/06 02:21

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

View的位置坐标和父容器的关系

根据上图我们很容易得出,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()的值是一样的)

0 0
原创粉丝点击