我知道我们可以为android设置以下值:gravity和android:layout_gravity财产:

居中中心_垂直center_horizontal等。

但我对这两者都感到困惑。

android:gravity和android:layout_gravity的用法有什么区别?


当前回答

gravity:用于文本视图、编辑文本等简单视图。

layout_gravity:用于当前视图在其相对父视图(如linear layout或FrameLayout)的上下文中的重力,以使视图位于父视图的中心或任何其他重力。

其他回答

他们的名字可以帮助您:

android:gravity设置其使用的视图的内容(即其子视图)的重力。android:layout_gravity设置视图或布局相对于其父对象的重力。

这里有一个例子。

不同之处在于

android:layout_gravity是视图的外部重力。指定视图应接触其父对象边界的方向。

android:重力是该视图的内部重力。指定其内容应对齐的方向。

HTML/CSS等价物

(如果您来自web开发背景)

Android                 | CSS
————————————————————————+————————————
android:layout_gravity  | float
android:gravity         | text-align

帮助你记住的简单技巧

将布局重力作为“外部重力”。

android:gravity设置子对象的重力(位置),而android:layout_gravity设置视图本身的位置。希望有帮助

从我可以收集到的layout_gravity是该视图在其父视图中的重力,而重力是该视图中的子视图的重力。

我认为这是正确的,但找到答案的最佳方法是四处游玩。

gravity:用于文本视图、编辑文本等简单视图。

layout_gravity:用于当前视图在其相对父视图(如linear layout或FrameLayout)的上下文中的重力,以使视图位于父视图的中心或任何其他重力。