0

如果你想以编程方式设置像 LinearLayout 这样的 View 的重力,你有 2 种方法:

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);

这两种方式有什么区别?

4

1 回答 1

2

重要的是你知道其中的区别。

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

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

于 2014-01-13T07:26:08.257 回答