重力和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
设置View
或Layout
的重要性父母。
欲了解更多信息,请访问this site
【讨论】:
【参考方案3】:android:gravity 设置其使用的 View 内容的重力。
android:layout_gravity 设置 View 或 Layout 在其父级中的重力。
【讨论】:
以上是关于重力和layout_gravity之间的确切区别是啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章
android:layout_gravity 和 android:gravity 之间的区别 [重复]