重力和layout_gravity之间的确切区别是啥[重复]

Posted

技术标签:

【中文标题】重力和layout_gravity之间的确切区别是啥[重复]【英文标题】:What is exact difference between gravity and layout_gravity [duplicate]重力和layout_gravity之间的确切区别是什么[重复] 【发布时间】:2012-12-07 14:26:51 【问题描述】:

可能重复:android - gravity and layout_gravity

我一直在研究 android xml。我使用android:layout_gravity="center" 将组件对齐到特定位置。

现在,当我在开发类似活动的对话框时,我遇到了android:gravity="center"。我在那里发现,gravity 用于将其child 与特定位置对齐。

我会分享一个例子,

android:gravity="center"

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

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

它将LinearLayout 的子元素居中对齐。

android:layout_gravity="center"

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

它将LinearLayout 自身对齐在中心。

现在我的问题是:

    如果我的这些假设是正确的,那么gravity 是否适用于子组件,layout_gravity 是否适用于父组件。 何时选择gravity 而不是layout_gravity

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

【问题讨论】:

gravity 对齐视图的内容,layout_gravity 对齐其父视图。 这些视频帮助我理解了其中的不同之处:youtube.com/watch?v=DxfYeAUd238 【参考方案1】:
    是的,您的理解是正确的。任何layout_ 属性都会向父视图提供说明。 一般来说,如果一个视图占据了其父视图的全部宽度/高度,那么您不需要指定layout_gravity,您可能会发现gravity 更有用。如果您的视图没有占据其父视图的整个维度,您可能需要根据您想要的外观对齐它。

【讨论】:

【参考方案2】:

他们的名字应该可以帮助你:android:gravity 设置View 内容的重要性。android:layout_gravity 设置ViewLayout 的重要性父母。

欲了解更多信息,请访问this site

【讨论】:

【参考方案3】:

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

android:layout_gravity 设置 View 或 Layout 在其父级中的重力。

【讨论】:

以上是关于重力和layout_gravity之间的确切区别是啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章

android中的布局重力和重力有啥区别? [复制]

android:layout_gravity 和 android:gravity 之间的区别 [重复]

模型和算法之间的确切区别是啥?

适配器和代理模式之间的确切区别是啥?

Three.js:Lambert 和 Phong 之间的确切区别是啥?

Windows Azure 和 Windows IIS 之间的确切区别是啥?