我知道我们可以为android设置以下值:gravity和android:layout_gravity财产:
居中中心_垂直center_horizontal等。
但我对这两者都感到困惑。
android:gravity和android:layout_gravity的用法有什么区别?
我知道我们可以为android设置以下值:gravity和android:layout_gravity财产:
居中中心_垂直center_horizontal等。
但我对这两者都感到困惑。
android:gravity和android:layout_gravity的用法有什么区别?
当前回答
重力——应用于其自身的视图。
布局重力---应用于与其父级相关的视图。
其他回答
我在Sandip的博客上看到了一些我差点错过的东西,解决了我的问题。他说layout_gravity不适用于LinearLayout。
如果你使用的是LinearLayout,而重力设置让你发疯(像我一样),那么就切换到其他设置。
我实际上切换到了RelativeLayout,然后在2个包含的TextView上使用layout_alignParentLeft和layout_aignParentRight,使它们在一行上向左和向右移动。
查看图像以了解重力
不同之处在于
android:layout_gravity是视图的外部重力。指定视图应接触其父对象边界的方向。
android:重力是该视图的内部重力。指定其内容应对齐的方向。
HTML/CSS等价物
(如果您来自web开发背景)
Android | CSS
————————————————————————+————————————
android:layout_gravity | float
android:gravity | text-align
帮助你记住的简单技巧
将布局重力作为“外部重力”。
gravity:用于文本视图、编辑文本等简单视图。
layout_gravity:用于当前视图在其相对父视图(如linear layout或FrameLayout)的上下文中的重力,以使视图位于父视图的中心或任何其他重力。
他们的名字可以帮助您:
android:gravity设置其使用的视图的内容(即其子视图)的重力。android:layout_gravity设置视图或布局相对于其父对象的重力。
这里有一个例子。