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的宽高和坐标的关系:
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()的值是一样的)
相关文章推荐
- android 获取view在屏幕内的x y坐标
- android getX()、getY()、getRawX()、getRawY()、getSrrollX()、getScrollY()、scrollTo()、scrollBy()对比
- android应用程序如何获取View的坐标
- Android入门-短信-layout中getX,getLeft等的区别
- 判断当前Event触点是否在指定区域之内的两种方法
- view的位置参数:
- Android笔记:getRawX()与getX()的区别,手势的屏幕相对坐标与绝对坐标
- android View的getX getLeft getTranslateX以及MotionEvent的getX getRawX的区别与联系
- Android之View和View点击事件坐标系
- Android自定义控件热身——View的坐标位置和大小详解
- 彻底了解View 的坐标关系
- 安卓中的getX,getRawX等的区别
- view getLeft, getRight, getTop, getBottom
- onToucheh-MotionEvent中getX()和getRawX()的区别
- 自定义View基础-坐标系
- 自定义相关api探究:
- Android 获取View的 left、right、top、buttom、以及x、y坐标的方法
- tomcat7用jndi配置数据源出现java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addResourceRef
- Tyvj_P1004
- 【原创】k8s源码分析-----kubelet(6)statusManager