2014-01-13 85 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

问和自己回答... 这真的很快,很好:) –

相关问题