我知道我们可以为android设置以下值:gravity和android:layout_gravity财产:
居中中心_垂直center_horizontal等。
但我对这两者都感到困惑。
android:gravity和android:layout_gravity的用法有什么区别?
我知道我们可以为android设置以下值:gravity和android:layout_gravity财产:
居中中心_垂直center_horizontal等。
但我对这两者都感到困惑。
android:gravity和android:layout_gravity的用法有什么区别?
当前回答
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
用于相对于父文件或布局文件的视图本身。
android:gravity->设置其使用的视图内容的重力。
android:layout_gravity->设置父视图或布局的重力
我在Sandip的博客上看到了一些我差点错过的东西,解决了我的问题。他说layout_gravity不适用于LinearLayout。
如果你使用的是LinearLayout,而重力设置让你发疯(像我一样),那么就切换到其他设置。
我实际上切换到了RelativeLayout,然后在2个包含的TextView上使用layout_alignParentLeft和layout_aignParentRight,使它们在一行上向左和向右移动。