android:layout_gravity跟android:gravity属性的区别
android:layout_gravity和android:gravity属性的区别
android:gravity / android:layout_gravity区别:
android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。(也可以在Layout布局属性中添加,设置Layout中组件的位置)
android:layout_gravity 是用来设置该view相对与父view的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。
即android:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。
说的再直白点,就是android:gravity只对该组件内的东西有效,android:layout_gravity只对组件自身有效
android:layout_gravity 只在 LinearLayout 和 FrameLayout 中有效:
①对于 LinearLayout :
当 android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
②对于 FrameLayout :任意android:layout_gravity属性都有效,可以非常方便实现对组件的布局。