2014-01-13 120 views
0

如果要設置類似的LinearLayout 編程觀的重心,你有2種方式:.setGravity(...)方法和getLayoutParams()之間有什麼區別gravity = x?

1)

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.FILL_PARENT, 
     LinearLayout.LayoutParams.WRAP_CONTENT); 

params.gravity = Gravity.RIGHT; 
MyLinearLayout.setLayoutParams(params); 

2)

MyLinearLayout.setGravity(Gravity.RIGHT); 

什麼這兩種方式有什麼區別?

+1

可能重複[Android - gravity and layout \ _gravity](http://stackoverflow.com/questions/3482742/android-gravity-and-layout-gravity) – Luksprog

+0

@Luksprog不,它不重複。因爲這個答案不是關於在代碼中設置重力的。這個問題的主要問題是在代碼中設置重力! – breceivemail

+0

你的問題沒有增加任何實際價值。文檔清楚地說明了你在答案中基本上所說的內容,所以這是毫無意義的。 – Luksprog

回答

2

重要的是你知道區別。

第一種方法是設置LinearLayout的佈局引力。這意味着您要在您的父視圖中設置佈局的位置。它相當於xml佈局中的android:layout_gravity="right"

但第二種方法是在您的Linearlayout中設置子視圖的位置,它相當於xml佈局中的android:gravity="right"。例如,如果您將一個TextView放入您的LinearLayout中,並且其寬度爲wrap_content,則TextView將放置在LinearLayout的右側。

+0

+1很好的解釋。 –

+0

問和自己回答... 這真的很快,很好:) –

相關問題