.setGravity(...)方法和getLayoutParams()之间的区别是什么.relvity = x?

时间:2014-01-13 07:26:08

标签: android gravity layoutparams layout-gravity

如果您想设置像LinearLayout 以编程方式的视图的重力,您有两种方法:

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 个答案:

答案 0 :(得分:2)

重要的是要了解其中的差异。

第一种方法是设置LinearLayout的布局重力。这意味着您要在其父视图中设置布局的位置。它相当于xml布局中的android:layout_gravity="right"

但是第二种方式是在Linearlayout中设置子视图的位置,它在xml布局中等同于android:gravity="right"。例如,如果您在LinearLayout中放置TextView并且其宽度为wrap_content,则TextView将位于LinearLayout的右侧。