16

可能重复:
Android - 重力和 layout_gravity

我一直在研究android xml。我曾经android:layout_gravity="center"在特定位置对齐组件。

现在有一天,当我在Activity 之类的 Dialog上工作时,我遇到了android:gravity="center". 我在那里发现的是,gravity用于将其child与特定位置对齐。

我会分享一个例子,它是什么,

机器人:重力=“中心”

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:orientation="vertical" >
            <EditText
                android:id="@+id/enterNumberEdit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:hint="Enter No." >

                <requestFocus />
            </EditText>
            </LinearLayout>

它使中心的孩子对齐LinearLayout

安卓:layout_gravity="center"

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:orientation="vertical"
    android:background="@drawable/dialog_background" >
</LinearLayout>

它将自身对齐LinearLayout在中心。

现在我的问题是:

  1. 如果我在这些假设中是正确的,那是否gravity适用于子组件和layout_gravity父组件。
  2. 何时选择gravity结束layout_gravity

到目前为止,我已经找到了很多关于 xml 的解释。我想听听更好的解释。让我知道,如果我在某个地方错了

4

3 回答 3

11
  1. 是的,你的理解是正确的。任何layout_属性都向父视图提供指令。
  2. 通常,如果视图占据了其父级的全部宽度/高度,那么您无需指定layout_gravity,您可能会发现它gravity更有用。如果您的视图没有占据其父视图的整个维度,您可能需要根据您想要的外观对齐它。
于 2012-12-20T05:33:55.427 回答
4

他们的名字应该可以帮助你:
android:gravity设置其使用的内容的重力View。设置或在其父
android:layout_gravity级中的重力。ViewLayout

欲了解更多信息,请访问此网站

于 2012-12-20T06:07:14.083 回答
1

android:gravity 设置其使用的 View 内容的重力。

android:layout_gravity 设置视图或布局在其父级中的重力。

于 2012-12-20T05:40:09.090 回答