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

居中中心_垂直center_horizontal等。

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

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


当前回答

不同之处在于

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

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

HTML/CSS等价物

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

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

帮助你记住的简单技巧

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

其他回答

android:gravity

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

android:layout_gravity 

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

Gravity和layout_Gravity都是XML属性。

android:gravity属性用于排列视图中内容的位置(例如Button小部件中的文本)。

android:layout_gravity用于安排整个视图相对于其容器的位置。

有关详细信息,请参阅此链接。

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

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

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

重力用于设置视图中的文本对齐方式,但layout_Gravity用于设置视图本身。举个例子,如果你想对齐editText中的文本,然后使用重力,你想对齐这个editText或任何按钮或任何视图,然后使用layout_gravity,所以非常简单。