2016-09-30 5 views
4

ボタンの位置をプログラム的に移動しようとしていました。ボタンは相対レイアウトです。調査したところ、.setY()または.setTop()を使用できることがわかりました。彼らは同じように動作するように見えます。Androidセットのビュー位置 - setY対setTop

私の場合、.setTop()は位置をまったく変更せず、.setY()のみが動作します。私は何を誤解したのか分かりませんが、私にとってはとても奇妙です。

setY()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()の間の主な違いは、setTop()セットトップビューのオフセットに対しsetY()は、視覚領域に図相対オフセットトップを設定することですその親の親に対してはです。

Android documentationより。

SETYの()

はピクセル単位で、このビューのビジュアルy位置を設定します。これは、translationYプロパティを、渡されたy値と現在のtopプロパティの差に設定することと同じです。

セットトップ()

親にこのビューの相対的な先頭位置を設定します。

+0

Androidのドキュメントに基づいて回答していただきありがとうございます。これらの関数の違いを正確に示す例を教えてください。 –

関連する問題