View的位置主要由它的四個頂點來確定,分別對應於View的四個屬性: top,left,right,bottom.其中top是左上角的縱座標,left是左下角橫座標,right是右下角的橫座標,bottom是右下角的縱座標。需要注意的是,這些橫座標都是相對於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是左上角的座標,而translationX和translationY是View 左上角相對於父容器的偏移量。這幾個參數也是相對於父容器的座標,並且translationX和translationY的默認值是0,和View的四個基本位置參數一樣,View也爲他們提供了get/set方法,幾個參數的換算關係如下所示:
x=left+translationX
y=top+translationY
需要注意的是,View在平移的過程中,top和left表示的是原始左上角的位置信息,其值並不會發生改變,此時發生改變的是x,y,translationX,translationY這四個參數。
參考書目《android開發藝術探索》任玉剛著