Pich Blog

关注移动开发,大数据,云计算,软件架构!

2.决定View位置的参数

概述

理解清楚View的位置,不管是对我们使用系统控件,或者自定义控件的时候都有很好的帮助,特别是使用属性动画。

四个顶点

View的位置主要是有他的4个顶点决定的,分别是left,top,right,bottom。

left:左上角横坐标

top:左上角纵坐标

right:右下角横坐标

bottom:右下角纵坐标

这些坐标都是相对于View的父容器来说的,不是相对于屏幕。

在Android中x轴正方向是向右,y轴正方向向下。

这四个参数可以通过getLeft,getTop,getRight,getBottom方法获取。

View的宽高

根据上图我们就可以很方便的得出一个View的宽高。

View的,x,y,translationX,translationY

从3.0开始,View增加了额外的几个参数,分别是:x,y,translationX,translationY。都是相对于父容器的。

x,y:表示View的左上角的坐标

translationX,translationY:表示View相对于父容器的偏移量,默认值为0

他们的换算关系如下:

x=left+translationX

y=top+translationY

注意:View的平移过程中,top,left表示原始的左上角位置信息,并不会发生改变,此时改变的是translationX,translationY。导致x,y也改变了。

设置view的margin改变的是view的left这些属性

执行属性动画时改变的是translationX这样的属性

设置View的padding改变的是view的尺寸,也就是width,height

scrollTo,scrollBy

他们是移动容器里面的内容,而不是自己。

影响的是容器的getScrollX,getScrollY,不影响子控件的left,width,translationX这样的属性。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注