gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置
android:gravity:是对控件里的元素来说的,用来控制控件内部元素的显示位置。
android:layout_gravity:这个是对控件本身而言,用来控制自己在父控件中的位置。
2.属性值:
这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。一个属性可以包含多个值,需用“|”分开。我们主要来看看center_vertical和center_horizontal两个属性值,
center_vertical是指将对象在垂直方向上居中对齐,即在从上到下的方向上选择中间的位置放好;
center_horizontal是指将对象水平方向上居中对齐,即在从左到右的方向上选择中间的位置放好。
3.特殊情况
当我们采用LinearLayout布局时,有以下特殊情况需要我们注意:
(1)当 android:orientation="vertical" 时, android:layout_gravity只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
(2)当 android:orientation="horizontal" 时, android:layout_gravity只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
想想也是可以理解的,老子的方向订好了,你只能是往前一点或者往后一点,想直接达到终点这不行,但是允许你出去找小朋友玩耍~~~
(3)有一个比较特殊的是center,不管是横向还是纵向的时候,它总有一个方向起作用.
另外,layout_gravity="center_vertical"和 layout_centerVertical="true"区别:
两者都表示当前控件在父容器的位置是垂直居中,