2016-09-30 92 views
4

我正在以編程方式移動按鈕的位置。按鈕是相對佈局。我研究過並發現我們可以使用.setY().setTop()。看起來他們應該工作一樣。Android set view position - sety vs setTop

但在我的情況下,.setTop()根本沒有改變位置,.setY()只能使用。我不確定我做了什麼誤解,但對我來說這很奇怪。

有沒有人可以正確解釋setY() vs setTop()? 有什麼區別?

這是layout.xml

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <Button 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp"/> 
</RelativeLayout> 
+0

實際上,即使我使用1000或10000,setTop()也不起作用。 –

回答

2

setY()setTop()之間的主要區別是,setY()設置頂視圖相對於可視區域的偏移,而setTop()設置頂視圖的偏移相對於其父母

Android documentation

SETY()

設置此視圖的視覺y位置,以像素爲單位。這相當於將translationY屬性設置爲傳入的y值與當前的top屬性之間的差異。

機頂盒()

設置該視圖相對於其父的頂部位置。

+0

感謝您根據Android文檔提供的答案。你能否給我提供一個例子來說明這些函數的區別? –