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

居中中心_垂直center_horizontal等。

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

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


当前回答

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

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

其他回答

android:gravity

用于调整视图相对于其指定位置(分配区域)的内容。如果layout_width等于“wrap_content”,android:gravity=“left”将不会执行任何操作

android:layout_gravity 

用于相对于父文件或布局文件的视图本身。

两者的基本区别在于-

android:gravity用于视图的子元素。

android:layoutgravity用于相对于父视图的此元素。

我在Sandip的博客上看到了一些我差点错过的东西,解决了我的问题。他说layout_gravity不适用于LinearLayout。

如果你使用的是LinearLayout,而重力设置让你发疯(像我一样),那么就切换到其他设置。

我实际上切换到了RelativeLayout,然后在2个包含的TextView上使用layout_alignParentLeft和layout_aignParentRight,使它们在一行上向左和向右移动。

他们的名字可以帮助您:

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

这里有一个例子。

记住这一点的一个简单技巧是,地心引力适用于地球内部的我们。所以,安卓:重力是指内部视图。

记住layout_gravity中的out,这将帮助您记住android:layout_ggravity将指视图外部