Android View的几个位置坐标关系

1. View的边界,left, top, right, bottom(即左上右下),这些值都是相对View的父容器说的;

2. View的x, translationX, y, translationY, translationX/Y表示相对于left,top的偏移,一般用在View的translation动画中,有如下的关系:

x = left + translationX, y = top + translationY

3. View的mScrollX,  mScrollY是指View的边界相对于View内容的距离,比如有个LinearLayout container1,其中的紧接着的children是btn1,

这时如果调用container1.scrollBy(0, 30),那么container1的4个边界是永远不会变的,变的是container1的内容,也就是btn1的坐标会变,btn1的top现在会减少30个像素。

4. View的offsetTopAndBottom直接改变的是top, bottom, 相当于在parent中上下平移View的位置;offsetLeftAndRight直接改变的是left, right, 相当于在parent中左右平移View的位置;View的边界直接发生了变化,又因为View和他的子View的相对位置没变,所以他的子View的边界也跟着变化了。

推荐阅读更多精彩内容